



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第利用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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康知識課件大全下載
- 醫(yī)院醫(yī)保政策解讀
- 麥肯錫全球經(jīng)濟洞察報告:消費者支出普遍放緩 關(guān)鍵趨勢和風險 2024 年 8 月發(fā)布
- 健康活動教案課件
- 營口市居民燃氣管理辦法
- 藍田縣輔警管理辦法細則
- 蚌埠市辦公用房管理辦法
- 行政規(guī)范性文件管理辦法
- 西山區(qū)公司稅務(wù)管理辦法
- 衢江區(qū)工業(yè)項目管理辦法
- 醫(yī)學主任醫(yī)師晉升答辯
- ISO27001:2022信息安全管理手冊+全套程序文件+表單
- 給酒店供應(yīng)早餐合同協(xié)議
- FSSC22000ISO22000標準課程培訓試題含答案
- 《錐螺旋CT在胸腹部應(yīng)用》課件
- 2025年衛(wèi)生類事業(yè)單位(醫(yī)學基礎(chǔ)知識)公開招聘必刷題庫(300題)
- 高爐煤氣干法袋式除塵設(shè)計規(guī)范
- 服裝進銷存信息化管理合同
- 水利工程施工危險源識別
- 天津市歷年中考作文題與審題指導(2000-2024)
評論
0/150
提交評論