国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

matlab GUI課程設(shè)計(jì)——掃雷游戲

這篇具有很好參考價(jià)值的文章主要介紹了matlab GUI課程設(shè)計(jì)——掃雷游戲。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


課程設(shè)計(jì)

平臺(tái):matlab GUIDE

功能實(shí)現(xiàn):掃雷游戲

目的:

1.熟悉matlab基本的代碼編寫能力;
2.學(xué)會(huì)利用matlab GUI設(shè)計(jì)圖形交互界面,方便使用者操作;

演示:

1.創(chuàng)建15行×20列的掃雷界面,界面上包括棋子數(shù)量統(tǒng)計(jì)和炸彈數(shù)量設(shè)置.炸彈數(shù)量越多,掃雷難度越大.
matlab掃雷代碼,matlab GUIDE,matlab,游戲,開發(fā)語(yǔ)言
2. 正常掃雷演示:
matlab掃雷代碼,matlab GUIDE,matlab,游戲,開發(fā)語(yǔ)言
3. 點(diǎn)擊到炸彈后,彈出對(duì)話框,可選擇關(guān)閉程序或者重新開始.
matlab掃雷代碼,matlab GUIDE,matlab,游戲,開發(fā)語(yǔ)言

代碼示例:

每個(gè)按鈕被點(diǎn)擊后執(zhí)行的回調(diào)函數(shù):

function pushcallback(hObject, eventdata, handles)
global row col mines times flags mine control around  Tags Bombs
a = get(hObject,'position');
hang=double((a(2)-0.86)/(-0.054))-0.0001;
lie=double((a(1)-0.013)/0.045)-0.0001;
place=ceil([hang,lie]);
if times==1
    mines=str2num(get(handles.edit1,'string'));
    set(handles.edit1,'enable','off')
    first_time(hObject, eventdata, handles,place)
    times=0;
end
%如果點(diǎn)到了炸彈
if mine(place(1),place(2))==1&&~isequal(get(hObject,'CData'),Tags)
    [p,q]=find(mine==1);
    bombs=p+row*(q-1);
    set(handles.h(bombs),'CData',Bombs,'ForegroundColor','k','backgroundcolor',0.85*[1,1,1]);
    set(hObject,'CData',imread('爆炸圓.png'),'ForegroundColor','k','backgroundcolor',0.85*[1,1,1]);
    buttonName2=questdlg('很遺憾,你輸了','游戲結(jié)束','close','restart','close');
    if isempty(buttonName2)
       close;
       return
    end
    if strcmp(buttonName2,'restart')
        set(handles.edit1,'enable','on')
        set(handles.text1,'string','標(biāo)記:')
        mines=35;%炸彈總數(shù)
        times=1;
        flags=0;
        for m=1:row
            for n=1:col
                set(handles.h(m,n),'style','pushbutton','foregroundColor',0.7*[1 1 1],...
                    'BackgroundColor',0.7*[1 1 1],'CData',[]);
            end
        end
        mine=zeros(row,col);
        control=ones(row,col);
        around=zeros(row,col);
           return
    else
        if strcmp(buttonName2,'close')
            close;
            return
        end
    end
end
%如果點(diǎn)到的不是炸彈,但是其九宮格內(nèi)有炸彈的話,只翻當(dāng)前點(diǎn)擊的該格子
if (mine(place(1),place(2))==0)&&(around(place(1),place(2))~=0)&&~isequal(get(hObject,'CData'),Tags)
    drawnum(hObject, eventdata, handles,place)
end
%如果點(diǎn)到的不是炸彈,而且其九宮格內(nèi)也沒有炸彈的話,就隨機(jī)擴(kuò)展當(dāng)前點(diǎn)擊的格子周邊的連接的不是炸彈的多個(gè)格子
if (mine(place(1),place(2))==0)&&(around(place(1),place(2))==0)&&~isequal(get(hObject,'CData'),Tags)
    begins=place;
    [whitea,whiteb]=find(around==0);
    white=[whitea,whiteb];
    next=[begins;begins+[1,0];begins+[-1,0];begins+[0,1];begins+[0,-1]];
    while ~isempty(intersect(white,next,'rows'))
        [a,b,~]=intersect(white,next,'rows');
        begins=[a;begins];
        white(b,:)=[];
        ad=length(sum(begins,2));
        next=[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]];
    end
    drawbegins=begins(:,1)+row*(begins(:,2)-ones(ad,1));
    set(handles.h(drawbegins),'style','text','string','','backgroundcolor',0.85*[1,1,1]);
    control(drawbegins)=0;
    colors=[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]];
    colors=unique(colors,'rows');
    [txa,txb]=find(around~=0);
    tx=[txa,txb];
    txcolors=intersect(tx,colors,'rows');
    for i=1:length(sum(txcolors,2))
        drawnum(handles.h(txcolors(i,1),txcolors(i,2)),eventdata, handles,txcolors(i,1:2))
    end
end
guidata(hObject, handles);

歡迎交流

代碼事宜,私信博主文章來源地址http://www.zghlxwxcb.cn/news/detail-521062.html

到了這里,關(guān)于matlab GUI課程設(shè)計(jì)——掃雷游戲的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 教你使用Java開發(fā)一款簡(jiǎn)單的掃雷小游戲 附實(shí)例代碼

    教你使用Java開發(fā)一款簡(jiǎn)單的掃雷小游戲 附實(shí)例代碼

    相信很多小伙伴都知道也玩過掃雷游戲,本篇文章將和大家分享一篇關(guān)于如何使用Java來實(shí)現(xiàn)一款簡(jiǎn)單的掃雷小游戲,這有助于大家對(duì)于Java相關(guān)知識(shí)的學(xué)習(xí)有一定的參考價(jià)值,下面是詳情內(nèi)容。 學(xué)了幾周的Java,閑來無事,寫個(gè)乞丐版的掃雷,加強(qiáng)一下Java基礎(chǔ)知識(shí)。 編寫這個(gè)

    2024年02月08日
    瀏覽(30)
  • 基于C#開發(fā)五子棋游戲 大作業(yè) 課程設(shè)計(jì)源碼

    基于C#開發(fā)五子棋游戲 大作業(yè) 課程設(shè)計(jì)源碼

    基于C#開發(fā)五子棋游戲(大作業(yè)/課程設(shè)計(jì)) 開發(fā)環(huán)境:??Windows操作系統(tǒng) 開發(fā)工具: Microsoft Visual Studio 運(yùn)行效果圖: ? ?基于C#開發(fā)五子棋游戲(大作業(yè)/課程設(shè)計(jì)) 開發(fā)環(huán)境:? Windows操作系統(tǒng) 開發(fā)工具:Microsoft Visual Studio 基于C#開發(fā)五子棋游戲(大作業(yè)/課程設(shè)計(jì)) 開發(fā)環(huán)境

    2024年02月04日
    瀏覽(22)
  • 【C語(yǔ)言】掃雷游戲完整代碼實(shí)現(xiàn)

    【C語(yǔ)言】掃雷游戲完整代碼實(shí)現(xiàn)

    目錄 1.game.h 2.game.c 3.progress.c 4.運(yùn)行結(jié)果

    2024年02月21日
    瀏覽(30)
  • Matlab:使用 GUIDE 設(shè)計(jì) UI 界面并設(shè)置窗口大小

    Matlab:使用 GUIDE 設(shè)計(jì) UI 界面并設(shè)置窗口大小 Matlab 的 GUIDE 工具箱是一個(gè)非常強(qiáng)大而靈活的工具,可以方便地創(chuàng)建自定義的用戶界面。在設(shè)計(jì) UI 界面時(shí),首先要考慮的是界面的大小和布局。本文將介紹如何在 GUIDE 中設(shè)置 UI 窗口大小。 創(chuàng)建新的 GUI 首先,在 Matlab 中打開 GUID

    2024年02月11日
    瀏覽(20)
  • python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn)

    python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn)

    ?? Hi,各位同學(xué)好呀,這里是L學(xué)長(zhǎng)! ??今天向大家分享一個(gè)今年(2022)最新完成的畢業(yè)設(shè)計(jì)項(xiàng)目作品 python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼) ?? 學(xué)長(zhǎng)根據(jù)實(shí)現(xiàn)的難度和等級(jí)對(duì)項(xiàng)目進(jìn)行評(píng)分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 《掃雷》是一款大

    2024年02月04日
    瀏覽(92)
  • python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼)

    python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼)

    ?? Hi,各位同學(xué)好呀,這里是L學(xué)長(zhǎng)! ??今天向大家分享一個(gè)今年(2022)最新完成的畢業(yè)設(shè)計(jì)項(xiàng)目作品 python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼) ?? 學(xué)長(zhǎng)根據(jù)實(shí)現(xiàn)的難度和等級(jí)對(duì)項(xiàng)目進(jìn)行評(píng)分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 項(xiàng)目獲?。?https:

    2024年02月06日
    瀏覽(34)
  • C語(yǔ)言小項(xiàng)目 -- 掃雷游戲完整代碼(遞歸展開 + 選擇標(biāo)記)

    C語(yǔ)言小項(xiàng)目 -- 掃雷游戲完整代碼(遞歸展開 + 選擇標(biāo)記)

    大家好,今天我們將一起用C語(yǔ)言實(shí)現(xiàn)一個(gè)經(jīng)典小游戲 – 掃雷,Let is go ! 掃雷游戲相信大家都玩過,上圖就是一個(gè)網(wǎng)頁(yè)版的掃雷,它的規(guī)則是玩家選擇一個(gè)方格,若此方格沒有地雷,那么該方格會(huì)顯示與它相鄰的八個(gè)方格中雷的個(gè)數(shù),若此方格有地雷,那么游戲失敗,當(dāng)玩

    2024年02月05日
    瀏覽(22)
  • python項(xiàng)目分享 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼)

    python項(xiàng)目分享 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼)

    ?? Hi,各位同學(xué)好呀,這里是L學(xué)長(zhǎng)! ??今天向大家分享一個(gè)今年(2022)最新完成的畢業(yè)設(shè)計(jì)項(xiàng)目作品 python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼) ?? 學(xué)長(zhǎng)根據(jù)實(shí)現(xiàn)的難度和等級(jí)對(duì)項(xiàng)目進(jìn)行評(píng)分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 項(xiàng)目獲?。?https:

    2024年01月19日
    瀏覽(27)
  • python項(xiàng)目分享 - 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼)

    python項(xiàng)目分享 - 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼)

    ?? Hi,各位同學(xué)好呀,這里是L學(xué)長(zhǎng)! ??今天向大家分享一個(gè)今年(2022)最新完成的畢業(yè)設(shè)計(jì)項(xiàng)目作品 python小游戲畢設(shè) 掃雷小游戲設(shè)計(jì)與實(shí)現(xiàn) (源碼) ?? 學(xué)長(zhǎng)根據(jù)實(shí)現(xiàn)的難度和等級(jí)對(duì)項(xiàng)目進(jìn)行評(píng)分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 項(xiàng)目獲?。?https:

    2024年02月19日
    瀏覽(33)
  • web小游戲開發(fā):掃雷(三)(完成度90%)

    書接前文啊,如果沒看過前兩篇的話,不好理解這里的定義了哦。 在之前兩篇文章,我們已經(jīng)把雷區(qū)布置好了,全部蓋上了格子,現(xiàn)在我們需要把雷布出來,這就需要用一個(gè)二維數(shù)組來存放雷區(qū)每個(gè)格子的狀態(tài),以及另一個(gè)存放地雷和數(shù)字描述的二維數(shù)組了,用兩個(gè)二維數(shù)組

    2023年04月18日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包