利用Matlab复刻羊了个羊小游戏_第1页
利用Matlab复刻羊了个羊小游戏_第2页
利用Matlab复刻羊了个羊小游戏_第3页
利用Matlab复刻羊了个羊小游戏_第4页
利用Matlab复刻羊了个羊小游戏_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第利用Matlab复刻羊了个羊小游戏%=========================================================================

%figure及axes创建及修饰

fig=figure('units','pixels','position',[500501.5*1080/31.5*1500/3],...

'Numbertitle','off','menubar','none','resize','on','name','羊了个羊');

ax=axes('Parent',fig,'Position',[0,0,1,1],'XLim',[0,1080],'YLim',[0,1500],...

'XColor','none','YColor','none','XTick',[],'YTick',[],'Color',[195,254,138]./255);

holdon

%image(ax,[0,1080],[0,1500],flipud(material.bkg));

image(ax,[0,1080],[0,295],flipud(material.store));

%创建卡牌

fork=1:5

fori=1:3

forj=1:3

tn=numList(n);

image(ax,[-130,130]./2+540+(j-2).*130+rand(1).*5,[-145,145]./2+1000-(i-2).*145+rand(1).*5,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

cardMat(n,2)=n+9;

ifk==5

cardMat(n,3)=n+9+3;

n=n+1;

fork=1:3

fori=1:4

forj=1:3

tn=numList(n);

image(ax,[-130,130]./2+540+(j-2).*130+rand(1).*5,[-145,145]./2+1000-(i-2).*145+145/2+rand(1).*5,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

ifk==3

cardMat(n,2)=n+12+i-1;

cardMat(n,3)=n+12+1+i-1;

else

cardMat(n,2)=n+12;

n=n+1;

fork=1:3

fori=1:4

forj=1:4

tn=numList(n);

image(ax,[-130,130]./2+540+(j-2.5).*130+rand(1).*5,[-145,145]./2+1000-(i-2).*145+145/2+rand(1).*5,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

ifk==3

cardMat(n,2)=n+16+i-1;

cardMat(n,3)=n+16+1+i-1;

else

cardMat(n,2)=n+16;

n=n+1;

fork=1:4

fori=1:4

forj=1:5

tn=numList(n);

ifk==4

image(ax,[-130,130]./2+540+(j-3).*130+rand(1).*5,[-145,145]./2+1000-(i-2).*145+145/2+rand(1).*5,...

flipud(material.card(tn).C),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

else

cardMat(n,2)=n+16;

image(ax,[-130,130]./2+540+(j-3).*130+rand(1).*5,[-145,145]./2+1000-(i-2).*145+145/2+rand(1).*5,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

cardMat(n,2)=n+20;

n=n+1;

forn=210:225

tn=numList(n);

ifn==225

image(ax,[-130,130]./2+540-400+(n-210)*15,[-145,145]./2+600,...

flipud(material.card(tn).C),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

else

image(ax,[-130,130]./2+540-400+(n-210)*15,[-145,145]./2+600,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

cardMat(n,2)=n+1;

forn=226:241

tn=numList(n);

ifn==241

image(ax,[-130,130]./2+540-400+(n-226)*15,[-145,145]./2+400,...

flipud(material.card(tn).C),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

else

image(ax,[-130,130]./2+540-400+(n-226)*15,[-145,145]./2+400,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

cardMat(n,2)=n+1;

forn=242:257

tn=numList(n);

ifn==257

image(ax,[-130,130]./2+540+400-(n-242)*15,[-145,145]./2+600,...

flipud(material.card(tn).C),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

else

image(ax,[-130,130]./2+540+400-(n-242)*15,[-145,145]./2+600,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

cardMat(n,2)=n+1;

disp(material.author);

disp(material.gzh);

forn=258:273

tn=numList(n);

ifn==273

image(ax,[-130,130]./2+540+400-(n-258)*15,[-145,145]./2+400,...

flipud(material.card(tn).C),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

else

image(ax,[-130,130]./2+540+400-(n-258)*15,[-145,145]./2+400,...

flipud(material.card(tn).C.*.8),'AlphaData',flipud(material.card(tn).A),...

'UserData',[n,tn],'ButtonDownFcn',@clickImg)

cardMat(n,2)=n+1;

%=========================================================================

%点击卡片的回调

functionclickImg(obj,~)

objNum=obj.UserData;

if~any(cardMat(objNum(1),2:end))

cardNumList(cardNumList==objNum(1))=[];

%取消阴影

[rows,cols]=find(cardMat(:,2:end)==objNum(1));

ford=1:length(rows)

cardMat(rows(d),cols(d)+1)=0;

if~any(cardMat(rows(d),2:end))

picObj=findobj('UserData',[rows(d),numList(rows(d))]);

picObj.CData=flipud(material.card(numList(rows(d))).C);

%更新卡槽

obj.ButtonDownFcn=[];

cardList=[cardList,objNum(1)];

storeList=[storeList,objNum(2)];

[storeList,tindex]=sort(storeList);

cardList=cardList(tindex);

%消除卡牌

d2=diff(diff(storeList).*(1:(length(storeList)-1)).^4);

if~isempty(d2)

ifany(d2==0)

zpos=find(d2==0,1);

fortk=zpos:(zpos+2)

picObj=findobj('UserData',[cardList(tk),storeList(tk)]);

delete(picObj)

storeList(zpos:(zpos+2))=[];

cardList(zpos:(zpos+2))=[];

%图像重绘

fortk=1:length(cardList)

picObj=findobj('UserData',[cardList(tk),storeList(tk)]);

picObj.XData=[-130,130]./2+135+(tk-1).*135;

picObj.YData=[-145,145]./2+154;

end

iflength(cardList)==7

buttonName1=questdlg('游戏失败','游戏失败','关闭游戏','重新开始','关闭游戏');

ifisempty(buttonName1),buttonName1='end';end

ifstrcmp(buttonName1,'关闭游戏');clf;clc;clear;closeall

elseifstrcmp(buttonName1,'重新开始');delete(fig);sheeeppp();

%=========================================================================

image(ax,[-93,93]./1.5+100,[-81,81]./1.5+1410,flipud(material.re(1).C),...

'AlphaData',flipud(material.re(1).A),'ButtonDownFcn',@restart)

image(ax,[-93,93]./1.5+100+160,[-81,81]./1.5+1410,flipud(material.re(2).C),...

'AlphaDat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论