版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第利用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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年化工评估分销代理协议
- 2026年AI合作运维服务合同
- 村小学办公室工作制度
- 村慈善工作站工作制度
- 预防接种护士工作制度
- 领导班子一线工作制度
- 风险监控预警工作制度
- 黔南州博物馆工作制度
- 淮南市凤台县2025-2026学年第二学期四年级语文第七单元测试卷(部编版含答案)
- 九江市庐山区2025-2026学年第二学期三年级语文期末考试卷(部编版含答案)
- AI在植物培育中的应用:技术赋能与未来展望
- 2026年济南历下区九年级中考数学一模考试试题(含答案)
- 2026新质生产力人才发展报告-
- 大学生国家安全教育第2章 政治安全
- 地铁工程扬尘防治专项施工方案
- 肺楔形切除术后护理查房
- 劳动仲裁申请书范本
- 《人文地理学》4 文化与人文地理学
- 血小板血浆(PRP)课件
- 伊索寓言好书推荐演讲稿
- GB/T 10183.1-2018起重机车轮及大车和小车轨道公差第1部分:总则
评论
0/150
提交评论