image thumbnail

Mathworks Rubik version 2

by

 

04 Apr 2013 (Updated )

Display, tester and solver of the Rubik's game, including "full cubes".

RotateLayer(hAxes,Cube,Axe(k),Side(k),Direction(k),0); end if ~bForceHistory Cube.history=zeros(0,3); end end Cube.sol=[]; set(hAxes,'UserData',Cube) PlotCube(hAxes,Cube); ShowTitle(hAxes,Cube);
function CreateNewGame(n,hAxes,bForceHistory)
%CreateNewGame - to create new game
%     CreateNewGame(n,hAxes,bForceHistory)

if ~exist('n','var')|isempty(n)
	n = 20; % number of random rotations
end
if nargin<2|isempty(hAxes)|hAxes==0
	hAxes=FindRubikAxes;
end
Cube=get(hAxes,'UserData');
if nargin<3
	bForceHistory=0;
end
if n<=0
	Cube=InitCube(Cube);
else
	Axe = floor(rand(n,1)*3)+1;	% axes
	Side = 2*floor(rand(n,1)*2)-1;	% sides
	Direction = 2*floor(rand(n,1)*2)-1;	% directions
	for k=1:n, % random rotations
		Cube = RotateLayer(hAxes,Cube,Axe(k),Side(k),Direction(k),0);
	end
	if ~bForceHistory
		Cube.history=zeros(0,3);
	end
end
Cube.sol=[];
set(hAxes,'UserData',Cube)
PlotCube(hAxes,Cube);
ShowTitle(hAxes,Cube);

Contact us