



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第利用Matlab復(fù)刻掃雷小游戲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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管道工程未來市場需求演變趨勢與挑戰(zhàn)預(yù)測考核試卷
- 木結(jié)構(gòu)建筑的智能家居系統(tǒng)集成考核試卷
- 糧食倉儲企業(yè)綠色經(jīng)濟企業(yè)文化建設(shè)考核試卷
- 帶式輸送機設(shè)計
- 秋游活動方案
- 《幼兒繪畫秋天》課件
- 2025年公共營養(yǎng)師之二級營養(yǎng)師考前沖刺模擬試卷A卷含答案
- 中學(xué)生課前三分安全教育
- 蛋糕促銷活動方案
- 小學(xué)一年級文明就餐教育
- 2024年江蘇省常州外國語學(xué)校中考一模語文試題(含答案)
- 畢業(yè)設(shè)計(論文)-可調(diào)節(jié)辦公椅分析與設(shè)計
- 2025年全球及中國潛孔鉆機行業(yè)發(fā)展現(xiàn)狀調(diào)研及投資前景分析報告
- 多模態(tài)數(shù)據(jù)交互式可視化-全面剖析
- 門診外配處方管理制度
- 中國國際大學(xué)生創(chuàng)新大賽(2025)職教賽道重點培育項目申報表
- 2025年骨干教師復(fù)試試題及答案
- 統(tǒng)計學(xué)-形考任務(wù)3-國開-參考資料
- 人要有自信+課件-+2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- (二模)新疆維吾爾自治區(qū)2025年普通高考第二次適應(yīng)性檢測 英語試卷(含答案詳解)
- 100以內(nèi)乘法除法口算練習(xí)題本1000道可打印
評論
0/150
提交評論