image thumbnail
from Rolling Cubes by Krishna Lalith
Flip the cubes upside down.

Cube_Board(Face,Box,Count_Move)
%drawing the board
function Cube_Board(Face,Box,Count_Move)
%--------------------------------------------------------------------------
clc
clf

for mm=1:3
    for nn=1:3
        if Box(mm,nn)>0
            BX=nn-1;BY=mm-1;
%--------------------------------------------------------------------------
%for each cube

for ii=1:2
    for jj=1:2
        hold on                           
        if Face(ii,jj,Box(mm,nn))==0,  fill([2*BY+jj-1 2*BY+jj-1 2*BY+jj 2*BY+jj 2*BY+jj]/2,[2*BX+ii-1 2*BX+ii 2*BX+ii 2*BX+ii-1 2*BX+ii-1]/2,'k','edgecolor','k');   end
        if Face(ii,jj,Box(mm,nn))==1,  fill([2*BY+jj-1 2*BY+jj-1 2*BY+jj 2*BY+jj 2*BY+jj]/2,[2*BX+ii-1 2*BX+ii 2*BX+ii 2*BX+ii-1 2*BX+ii-1]/2,'w','edgecolor','w');   end             
    end
end
%--------------------------------------------------------------------------
        end
    end
end  

for ii=0:2
    for jj=0:2
        rectangle('Position', [0+ii 0+jj 1 1],'linewidth',2.5,'edgecolor','r');             
    end   
end

hold on
text(1.75,-0.15,'Total Moves','color','r','fontsize',15);
text(2.75,-0.15,sprintf('%d',Count_Move),'fontsize',15,'color','r');
text(0.05,-0.15,'Click on Cube to Flip...','color','b','fontsize',15);
hold off
axis off
title('Rolling Cube','fontsize',20,'color',[0.1 0.5 0.1]);
%--------------------------------------------------------------------------

Contact us at files@mathworks.com