



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第利用Matlab复刻扫雷小游戏casestrcmp(XPBMenu_1.Text,'插旗'),XPBMenu_1.Text='扫雷';tool='插旗';
casestrcmp(XPBMenu_1.Text,'扫雷'),XPBMenu_1.Text='插旗';tool='扫雷';
form=1:Row
forn=1:Col
XPBlabel(m,n)=uilabel(XPBFig,'Text','','HorizontalAlignment','center',...
'FontSize',16,'FontWeight','bold',...
'BackgroundColor',0.85*[1,1,1],'Position',[10+1+(m-1)*24,10+1+(n-1)*26,24-2,26-2]);
XPBimage(m,n)=uiimage(XPBFig,'ImageSource','image\button.png',...
'Position',[10+(m-1)*24,10+(n-1)*26,24,26],'UserData',[m,n],'ImageClickedFcn',@clickButton);
%==========================================================================
functionclickButton(obj,~)
clickPos=obj.UserData;
ifstrcmp(tool,'插旗')
switchMarkMap(clickPos(1),clickPos(2))
case1,set(XPBimage(clickPos(1),clickPos(2)),'visible','on','ImageSource','image\flagbutton.png');
case-1,set(XPBimage(clickPos(1),clickPos(2)),'visible','on','ImageSource','image\button.png');
MarkMap(clickPos(1),clickPos(2))=-MarkMap(clickPos(1),clickPos(2));
drawScore(MineNum,MarkMap)
return;
iftimes==1,[MineMap,aroundMap]=createMap(clickPos);drawNum(aroundMap);times=inf;end
ifMarkMap(clickPos(1),clickPos(2))==-1,return;end
set(XPBimage(clickPos(1),clickPos(2)),'visible','off');
MarkMap(clickPos(1),clickPos(2))=0;
switchMineMap(clickPos(1),clickPos(2))
case1,gameOver(MineMap,clickPos);
case0,searchZone(aroundMap,clickPos);
drawScore(MineNum,MarkMap)
ifall(all(abs(MarkMap)==MineMap))
win()
%==========================================================================
functiondrawScore(MineNum,MarkMap)
MarkMap(MarkMap==-1)=0;
score1=num2str(MineNum);L1=length(score1);
score2=num2str(sum(sum(MarkMap)));L2=length(score2);
forii=1:3
ifii=3-L1
set(scoreImage(1,ii),'ImageSource','image\0.png')
else
tempStr=score1(ii-(3-L1));
set(scoreImage(1,ii),'ImageSource',['image\',tempStr,'.png']);
ifii=3-L2
set(scoreImage(2,ii),'ImageSource','image0.png')
else
tempStr=score2(ii-(3-L2));
set(scoreImage(2,ii),'ImageSource',['image\',tempStr,'.png']);
functionwin(~,~)
formm=1:Row
fornn=1:Col
ifMineMap(mm,nn)==1
set(XPBimage(mm,nn),'visible','on','ImageSource','imageflagbutton.png');
XPBfaceIm.ImageSource='imageface3.png';
functiongameOver(MineMap,pos)
formm=1:Row
fornn=1:Col
set(XPBimage(mm,nn),'visible','off');
ifMineMap(mm,nn)==1
set(XPBimage(mm,nn),'visible','on','ImageSource','imagemine.png');
set(XPBlabel(pos(1),pos(2)),'BackgroundColor',[100]);
XPBfaceIm.ImageSource='imageface2.png';
functionsearchZone(aroundMap,pos)
ifaroundMap(pos(1),pos(2))~=0,return;end
begins=pos;
[nonea,noneb]=find(aroundMap==0);
none=[nonea,noneb];
listZone=[begins;begins+[1,0];begins+[-1,0];
begins+[0,1];begins+[0,-1];
begins+[-1,1];begins+[-1,-1];
begins+[1,1];begins+[1,-1]];
while~isempty(intersect(none,listZone,'rows'))
[a,b,~]=intersect(none,listZone,'rows');
begins=[a;begins];none(b,:)=[];
ad=length(sum(begins,2));
listZone=[begins;begins+ones(ad,1)*[1,0];begins+ones(ad,1)*[-1,0];
begins+ones(ad,1)*[0,1];begins+ones(ad,1)*[0,-1];
begins+ones(ad,1)*[-1,1];begins+ones(ad,1)*[-1,-1];
begins+ones(ad,1)*[1,1];begins+ones(ad,1)*[1,-1]];
listZone=unique(listZone,'rows');
listZone(sum(listZone1,2)0,:)=[];
listZone(sum(listZone10,2)0,:)=[];
listZone=round(listZone);
forii=1:size(listZone,1)
set(XPBimage(listZone(ii,1),listZone(ii,2)),'visible','off')
MarkMap(listZone(ii,1),listZone(ii,2))=0;
functionrestart(~,~)
MineMap=[];
aroundMap=[];
MarkMap=ones([Row,Col]);
times=1;
tool='扫雷';
formm=1:Row
fornn=1:Col
set(XPBlab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饮酒纠纷调解协议书
- 餐饮装修转让协议书
- 项目施工转包协议书
- 酒水订货合同协议书
- 门面差价补偿协议书
- 赠礼女友宠物协议书
- 门厂合同解除协议书
- 贷款担保免责协议书
- 车场保安免责协议书
- 酒店宴席预定协议书
- 2024年江苏省宝应县事业单位公开招聘紧缺人才37名笔试题带答案
- 保险公司保全试题及答案
- 交通过程中的大数据应用试题及答案
- 2024危重症患儿管饲喂养护理-中华护理学会团体标准解读
- 2024年美睫技术考核试题及答案
- 实施质量管理体系的好处
- 中国化的马克思主义(毛泽东思想)概论知到课后答案智慧树章节测试答案2025年春上海思博职业技术学院
- 医院B超室工作制度
- 民航综合测试题及答案
- 2025-2030中国光敏聚酰亚胺(PSPI)行业现状调查与前景策略分析研究报告
- 2025年先进技术并购协议
评论
0/150
提交评论