



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第利用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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)經(jīng)濟(jì)管理實(shí)務(wù)試題及答案
- 從戰(zhàn)略角度分析醫(yī)學(xué)倫理原則如何推動(dòng)醫(yī)療機(jī)構(gòu)文化建設(shè)發(fā)展
- 區(qū)塊鏈技術(shù)對(duì)現(xiàn)代醫(yī)療行業(yè)的影響與挑戰(zhàn)
- 企業(yè)內(nèi)部信息系統(tǒng)的區(qū)塊鏈技術(shù)安全整合
- 初級(jí)審計(jì)師職業(yè)發(fā)展規(guī)劃分享試題及答案
- 核心考點(diǎn)一覽一級(jí)建造師試題及答案
- 醫(yī)院信息化建設(shè)中信息安全的挑戰(zhàn)與對(duì)策分析報(bào)告
- 醫(yī)療數(shù)據(jù)隱私保護(hù)與人工智能技術(shù)的融合發(fā)展
- 醫(yī)患互動(dòng)溝通培訓(xùn)-提高患者滿(mǎn)意度
- 企業(yè)環(huán)保行為利用區(qū)塊鏈的監(jiān)督和認(rèn)證
- 2025年全球及中國(guó)潛孔鉆機(jī)行業(yè)發(fā)展現(xiàn)狀調(diào)研及投資前景分析報(bào)告
- 多模態(tài)數(shù)據(jù)交互式可視化-全面剖析
- 門(mén)診外配處方管理制度
- 中國(guó)國(guó)際大學(xué)生創(chuàng)新大賽(2025)職教賽道重點(diǎn)培育項(xiàng)目申報(bào)表
- 2025年骨干教師復(fù)試試題及答案
- 統(tǒng)計(jì)學(xué)-形考任務(wù)3-國(guó)開(kāi)-參考資料
- (二模)新疆維吾爾自治區(qū)2025年普通高考第二次適應(yīng)性檢測(cè) 英語(yǔ)試卷(含答案詳解)
- 100以?xún)?nèi)乘法除法口算練習(xí)題本1000道可打印
- 承包沙場(chǎng)生產(chǎn)線(xiàn)合同范本
- 2025年全球及中國(guó)金剛石銅和金剛石鋁行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- DB11-T 583-2022 扣件式和碗扣式鋼管腳手架安全選用技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論