%% HELP : PUZZEL
% Use Arrow keys
% \uparrow
% \leftarrow \downarrow \rightarrow
% to move toward the empty
% space.
%% Init
clc;clear;close all;warning off;
im = imread('im2.jpg');
im1 = imresize(im,[600 600]);
imshow(im1);
text(100,300,'You Have40 Secs To Solve it !','FontSize',14,'Color','y');
text(150,350,'Use Arrow Keys : ','FontSize',14,'Color','y');
text(295,400,'\uparrow','FontSize',20,'Color','y','FontWeight','Bold');
text(225,450,'\leftarrow \downarrow \rightarrow','FontSize',20,'Color','y','FontWeight','Bold');
pause(3)
res=1;
for i = 1:3
part1(:,:,i) = im1(1:200,1:200,i);
end
for i = 1:3
part4(:,:,i) = im1(1:200,201:400,i);
end
for i = 1:3
part7(:,:,i) = im1(1:200,401:600,i);
end
for i = 1:3
part2(:,:,i) = im1(201:400,1:200,i);
end
for i = 1:3
part5(:,:,i) = im1(201:400,201:400,i);
end
for i = 1:3
part8(:,:,i) = im1(201:400,401:600,i);
end
for i = 1:3
part3(:,:,i) = im1(401:600,1:200,i);
end
for i = 1:3
part6(:,:,i) = im1(401:600,201:400,i);
end
for i = 1:3
part91(:,:,i) = im1(401:600,401:600,i);
end
part9 = uint8(0.941*ones(200,200,3));
partf = {part1 part4 part7 part2 part5 part8 part3 part6 part91};
part = {part1 part4 part7 part2 part5 part8 part3 part6 part9};
%%
part11 = cell(3,3);
s = creat;
for i = 1:9
ind = s(i);
part11(i) = part(ind);
end
part2 = part11;
img = cell2mat(part2);
imshow(img);
move = 0;
tic
%% PLAY
while ~isequal(s,[1:3;4:6;7:9])
move = move + 1;
k = waitforbuttonpress;
cc = get(gcf,'CurrentKey');
ind = find(s==9);
switch ind
case 1
if strcmp(cc,'uparrow')
s = swapmat(s,1,2);
elseif strcmp(cc,'leftarrow')
s = swapmat(s,1,4);
else
s = s;
end
case 2
if strcmp(cc,'uparrow')
s = swapmat(s,2,3);
elseif strcmp(cc,'leftarrow')
s = swapmat(s,2,5);
elseif strcmp(cc,'downarrow');
s = swapmat(s,2,1);
else
s = s;
end
case 3
if strcmp(cc,'downarrow')
s = swapmat(s,3,2);
elseif strcmp(cc,'leftarrow')
s = swapmat(s,3,6);
else
s = s;
end
case 4
if strcmp(cc,'uparrow')
s = swapmat(s,4,5);
elseif strcmp(cc,'leftarrow')
s = swapmat(s,4,7);
elseif strcmp(cc,'rightarrow');
s = swapmat(s,4,1);
else
s = s;
end
case 5
if strcmp(cc,'uparrow')
s = swapmat(s,5,6);
elseif strcmp(cc,'leftarrow')
s = swapmat(s,5,8);
elseif strcmp(cc,'downarrow');
s = swapmat(s,5,4);
elseif strcmp(cc,'rightarrow')
s = swapmat(s,5,2);
else
s = s;
end
case 6
if strcmp(cc,'downarrow')
s = swapmat(s,6,5);
elseif strcmp(cc,'leftarrow')
s = swapmat(s,6,9);
elseif strcmp(cc,'rightarrow');
s = swapmat(s,6,3);
else
s = s;
end
case 7
if strcmp(cc,'uparrow')
s = swapmat(s,7,8);
elseif strcmp(cc,'rightarrow')
s = swapmat(s,7,4);
else
s = s;
end
case 8
if strcmp(cc,'downarrow')
s = swapmat(s,8,7);
elseif strcmp(cc,'uparrow')
s = swapmat(s,8,9);
elseif strcmp(cc,'rightarrow');
s = swapmat(s,8,5);
else
s = s;
end
case 9
if strcmp(cc,'downarrow')
s = swapmat(s,9,8);
elseif strcmp(cc,'rightarrow')
s = swapmat(s,9,6);
else
s = s;
end
end
for i = 1:9
ind = s(i);
part11(i) = part(ind);
end
part2 = part11;
img = cell2mat(part2);
imshow(img);
t = toc;
if t > 40
s = [1:3;4:6;7:9];
res = 0;
end
end
partf1 = cell(3,3);
for i = 1:9
ind = s(i);
partf1(i) = partf(ind);
end
img = cell2mat(partf1);
imshow(img);
if res == 0
text(180,300,'TIME OUT','FontSize',20,'Color','y');
else
text(100,300,['TOTAL MOVES : ' num2str(move)],'FontSize',20,'Color','y');
end
%% eof