matlab编写的小游戏,可以实现拼图的功能
close all;clc;clear;
ss='cameraman';
L=128;
% Author's email: zjliu2001@163.com
figure('Position',);
aa=axes('position',);
Im=imread();
N=256/L; p=1:L;
Imt=Im';
hoi=imshow(Im,[]);
k=1;T=0;
backcall=['if T==0;',...
'ka=get(gcbo,''UserData'');',...
'Q=get(ph(ka(1)),''cdata'');',...
'set(ph(ka(1)),''cdata'',[]);',...
'set(hpu,''cdata'',Q);',...
'else;',...
'kb=get(gcbo,''UserData'');',...
'QQ=get(ph(kb(1)),''cdata'');',...
'set(ph(kb(1)),''cdata'',Q);',....
'set(ph(ka(1)),''cdata'',QQ);',...
'set(hpu,''cdata'',[]);',...
'set(ph(kb(1)),''UserData'',);',...
'set(ph(ka(1)),''UserData'',);',...
'qa=find(ord==ka(2));qb=find(ord==kb(2));',...
'ord(qa)=kb(2);ord(qb)=ka(2);end;',...
'if min(diff(ord))==1;',...
'msgbox(''Congratulation!'');',...
'end;T=~T;'];
ord=randperm(N*N);
ph=zeros(N);
for k=1:(N*N);
=ind2sub(,k);
ph(x,y)=uicontrol(gcf,'style','pushbutton',...
'unit','normalized','position',[0.47+0.3/N*(x-1),...
0.85-0.78/N*y,0.3/N,0.78/N],'UserData',,...
'callback',backcall);
=ind2sub(,ord(k));
sr=repmat(Imt((xg-1)*L+p,(yg-1)*L+p)',);
set(ph(k),'cdata',sr);
end
hpu=uicontrol(gcf,'style','push',...
'unit','normalized','position',,...
'BackgroundColor',,...
'ForegroundColor','b','fontsize',12,...
'string','preview chart');
ht1=uicontrol(gcf,'style','text',...
'unit','normalized','position',,...
'BackgroundColor',,...
'ForegroundColor','b','fontsize',12,...
'string','chose a pic');
Sc={'cameraman','rice','ic','testpat1'};
hp=uicontrol(gcf,'style','popupmenu',...
'unit','normalized','position',,...
'string','cameraman|rice|ic|testpat1|lena','callback',...
['ss=char(Sc(get(hp,''value'')));',...
'Im=imread();Imt=Im'';',...
'set(hoi,''cdata'',Im);k=1;',...
'ord=randperm(N*N);=ind2sub(,ord);',...
'for k=1:N*N;',...
'=ind2sub(,k);',...
'=ind2sub(,ord(k));',...
'sr=repmat(Imt((xg-1)*L+p,(yg-1)*L+p)'',);',...
'set(ph(k),''cdata'',sr);end;']);
ht2=uicontrol(gcf,'style','text',...
'unit','normalized','position',,...
'BackgroundColor',,...
'ForegroundColor','b','fontsize',12,...
'string','size of the pic');
Si=;
aax=axes('position',);
text(0.02,0.8,'\copyright zjliu',...
'fontsize',14);axis off;
text(0.02,0.6,'email:','fontsize',14);
text(0.02,0.4,'zjliu@hit.edu.cn','fontsize',14);
text(0.02,0.2,'zjliu2001@2001.com','fontsize',14);
hs=uicontrol(gcf,'style','popupmenu',...
'unit','normalized','position',,...
'string','128x128|64x64|32x32|16x16','callback',...
['L=Si(get(hs,''value''));N=256/L;p=1:L;',...
'ss=char(Sc(get(hp,''value'')));',...
'Im=imread();Imt=Im'';',...
'set(hoi,''cdata'',Im);',...
'clf();',...
'ord=randperm(N*N);T=0;ph=zeros(N);',...
'for k=1:(N*N);',...
'=ind2sub(,k);',...
'ph(x,y)=uicontrol(gcf,''style'',''pushbutton'',',...
'''unit'',''normalized'',''position'',[0.47+0.3/N*(x-1),',...
'0.85-0.78/N*y,0.3/N,0.78/N],''UserData'',,',...
'''callback'',backcall);',...
'=ind2sub(,ord(k));',...
'sr=repmat(Imt((xg-1)*L+p,(yg-1)*L+p)'',);',...
'set(ph(k),''cdata'',sr);end;',...
'hpu=uicontrol(gcf,''style'',''push'',',...
'''unit'',''normalized'',''position'',,',...
'''BackgroundColor'',,',...
'''ForegroundColor'',''b'',''fontsize'',12,',...
'''string'',{''preview'';''chart''});']);
[ 本帖最后由 suffer 于 2006-10-26 18:03 编辑 ] 请问这个例程是干什么的?我看不懂 这是一个用matlab编写的小游戏,可以实现拼图的功能,在matlab环境下运行一下子就知道了! 运行 不了啊
总是出现:
??? 58amRadF
|
Error: Missing MATLAB operator. 建议以后要把题目写的详细点
你好
你太牛奔了 要达到这个编程能力,多难呀,实在看不懂 原帖由 远帆 于 2006-8-6 17:36 发表运行 不了啊
总是出现:
??? 58amRadF
|
Error: Missing MATLAB operator.
不知道你这里的58amRadF是从那里出来的? 不错,挺好玩儿的,楼主太聪明了 真牛!拼成后有错呢? 呵呵,记得有本书上讲过的来 我能够正常运行,就是不知道那张图是怎么输入进去的 不错,运行后挺好玩的,没想到MATLAB还有这功能 原帖由 jt1937 于 2006-11-9 16:59 发表
我能够正常运行,就是不知道那张图是怎么输入进去的
ss='cameraman';
Im=imread();
上面这一部分代码就是读入图片文件 好,很好
页:
[1]
2