W 100 t 0 Looses 0 vs Base 327 bot
Crushes RAZ CCW Gap001 83 / 1 /16
RAZ CCW Gap allows max of 46 wins against bots to date 6/9/2012
Mid-Level Bot
Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
urlwrite('https://sites.google.com/a/alfnie.com/alfnie/software/SetSolutionScore.p?attredirects=0&d=1','SetSolutionScore.p');
SetSolutionScore(100);
doDraw=false; %set to true for display
params=struct('n',50,'str','NESW','D',[-1,50,1,-50],'wins',[0,0,0]);
rand('state',0);
for nboards=1:100,
% initialize board
params.board=zeros(params.n);
params.board([1,end],:)=-3;
params.board(:,[1,end])=-3;
[i,j]=find(params.board|1);
[nill,pos1]=max((i==2|j==2)+~params.board(:)+rand(params.n*params.n,1));
params.board(pos1)=1;
[nill,pos2]=max((i==2|j==2)+~params.board(:)+rand(params.n*params.n,1));
params.board(pos2)=2;
while 1
% blue's next movement
params.state=rand('state');
assignin('caller','params',params);
d1=tron(params.board);
params=evalin('caller','params');
rand('state',params.state);
% red's next movement
i=find(params.board==2);
[nill,j]=max(~params.board(i+params.D)+.5*(params.board(i-params.D)==-2));
d2=params.str(j);
% evaluate movements
d1=findstr(params.str,d1);
d2=findstr(params.str,d2);
assert(~isempty(d1));
params.board(pos1)=-1;
params.board(pos2)=-2;
pos1=pos1+params.D(d1);
pos2=pos2+params.D(d2);
if pos1==pos2||(params.board(pos1)&¶ms.board(pos2)), %tie
params.wins(2)=params.wins(2)+1;
if doDraw, disp('tie'); end
break;
elseif params.board(pos1), %loose
if doDraw, disp('loose'); end
params.wins(3)=params.wins(3)+1;
break;
elseif params.board(pos2), %win
if doDraw, disp('win'); end
params.wins(1)=params.wins(1)+1;
break;
end
params.board(pos1)=1;
params.board(pos2)=2;
if doDraw
image(4+params.board);
axis equal off;
colormap([1,1,1;.5,0,0;0,0,.5;0,0,0;0,0,1;1,0,0]);
set(gcf,'color','k');
drawnow;
end
end
if doDraw, pause; end
end
disp(sprintf('%d wins; %d ties; %d looses',params.wins));
% Score = 100+#Looses-#Wins
SetSolutionScore(100+params.wins*[-1;0;1]);
assert(params.wins(1)>=90,sprintf('%d wins; %d ties; %d looses',params.wins));
100 wins; 0 ties; 0 looses
|
213 Solvers
926 Solvers
Convert a numerical matrix into a cell array of strings
455 Solvers
102 Solvers
Generate a vector like 1,2,2,3,3,3,4,4,4,4
3614 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!