Code covered by the BSD License

# Mathworks Rubik version 2

### Thomas Beneder (view profile)

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);
```