最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Matlab實現(xiàn)貪吃蛇小游戲的示例代碼

 更新時間:2022年03月04日 10:12:34   作者:slandarer  
這篇文章主要為大家詳細(xì)介紹了如何利用Matlab實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

由于老師說如果拿MATLAB制作出游戲或者有趣的動畫的話。。

平時成績可以拿滿分

于是。。開始嘗試制作各種matlab小游戲

最初通過Alex的貪吃蛇學(xué)到了一些東西,然后制作了一個類似的俄羅斯方塊在課堂上展示的(都是動的方塊嗯噠)。

后來自己也嘗試寫著玩了一些其他版本的貪吃蛇,并做出了一些改進(jìn)。

補(bǔ)動圖:

沒錯這就有點(diǎn)類似貪吃蛇大作戰(zhàn)里的蛇啦

然后做出的改進(jìn)包括:

在關(guān)閉窗口時不報錯的設(shè)置,因為用了timer這個函數(shù),在關(guān)閉圖像時他會報錯,我們就可以加入一個回調(diào)函數(shù):

set(gcf,'tag','co','CloseRequestFcn',@clo);
    function clo(~,~)
        stop(game)
        delete(findobj('tag','co'));
        clf
        close
    end 

意思是每次有關(guān)閉請求時就調(diào)用clo這個函數(shù)

然后為了防止他提示你用遞歸的方式調(diào)用close,

再加上delete(findobj(‘tag’,‘co’));刪除之前的設(shè)定。

完整代碼

function snake
%axis set..............................................................
axis equal
len=40;
axis(0.5+[0,len,0,len])
set(gca,'xtick',[],'ytick',[],'xcolor','w','ycolor','w')
set(gca,'color','k')
hold on
%snake and food begining set...........................................
snaketop=[5,5;4.5,5];
body=[5,5;4.5,5;4,5;3.5,5;3,5;2.5,5];
food=[10,10];
direction=[1,0];
long=6;
plotsnake=scatter(gca,body(:,1),body(:,2),120,'w','filled');
plotfood=scatter(gca,food(1),food(2),120,'w','filled');
%timer set.............................................................
set(gcf,'WindowButtonMotionFcn',@snakefcn)
fps = 8;
game = timer('ExecutionMode', 'FixedRate', 'Period',1/fps, 'TimerFcn', @snakegame);
start(game)
%..................................................................................
set(gcf,'tag','co','CloseRequestFcn',@clo);
    function clo(~,~)
        stop(game)
        delete(findobj('tag','co'));
        clf
        close
    end
    function snakegame(~,~)
        snaketop=[body(1,:)+direction;body(1,:)+1/2*direction];
        snaketop(snaketop>len)=snaketop(snaketop>len)-len;
        snaketop(snaketop<1)=snaketop(snaketop<1)+len;
        body=[snaketop;body];
        body(long+1:end,:)=[];
        if (snaketop(1,1)-food(1))^2+(snaketop(1,2)-food(2))^2<1
            long = long + 2;
            food = randi(len, [1, 2]);
        end
        set(plotfood,'XData',food(1),'YData',food(2))
        set(plotsnake,'XData',body(:,1),'YData',body(:,2))
    end
    function snakefcn(~,~)
        xy=get(gca,'CurrentPoint');
        x=xy(1,1);y=xy(1,2);
        dir=[x-body(1,1),y-body(1,2)];
        dis=sqrt((x-body(1,1))^2+(y-body(1,2))^2);
        direction=dir/dis;
    end
end

以上就是Matlab實現(xiàn)貪吃蛇小游戲的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Matlab貪吃蛇游戲的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C語言中的文件讀寫fseek 函數(shù)

    C語言中的文件讀寫fseek 函數(shù)

    這篇文章主要介紹是我是C語言中的文件讀寫fseek 函數(shù)的相關(guān)資料,fseek 函數(shù)用來移動文件流的讀寫位置;就好比播放器,可以直接拖拽到精彩的時間點(diǎn)一樣,下面我們就來詳細(xì)介紹該內(nèi)容吧,感興趣的小伙伴可以參考一下
    2021-10-10
  • C++圖形界面開發(fā)Qt教程:嵌套圓環(huán)示例

    C++圖形界面開發(fā)Qt教程:嵌套圓環(huán)示例

    這篇文章主要介紹了C++實現(xiàn)圖形界面開發(fā)Qt教程,涉及坐標(biāo)函數(shù)的應(yīng)用及圖形界面程序設(shè)計,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • C語言計算分段函數(shù)問題

    C語言計算分段函數(shù)問題

    這篇文章主要介紹了C語言計算分段函數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言實現(xiàn)猜數(shù)字的小游戲

    C語言實現(xiàn)猜數(shù)字的小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)猜數(shù)字的小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C語言實現(xiàn)2048小游戲

    C語言實現(xiàn)2048小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)2048小游戲,注釋清晰,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • QT設(shè)計秒表功能(跑步計時器)

    QT設(shè)計秒表功能(跑步計時器)

    這篇文章主要為大家詳細(xì)介紹了QT設(shè)計秒表功能,跑步計時器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • udp socket客戶端和udp服務(wù)端程序示例分享

    udp socket客戶端和udp服務(wù)端程序示例分享

    這篇文章主要介紹了udp socket客戶端和udp服務(wù)端程序示例,需要的朋友可以參考下
    2014-03-03
  • C語言實現(xiàn)搶紅包程序代碼精簡版

    C語言實現(xiàn)搶紅包程序代碼精簡版

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)搶紅包程序代碼的精簡版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Qt如何實現(xiàn)輸入框@聯(lián)系人的@檢測的示例

    Qt如何實現(xiàn)輸入框@聯(lián)系人的@檢測的示例

    本文主要介紹了Qt如何實現(xiàn)輸入框@聯(lián)系人的@檢測的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • C++ OpenCV實現(xiàn)抖音"藍(lán)線挑戰(zhàn)"特效

    C++ OpenCV實現(xiàn)抖音"藍(lán)線挑戰(zhàn)"特效

    這篇文章主要介紹了如何使用OpenCV C++ 實現(xiàn)抖音上的特效“藍(lán)線挑戰(zhàn)”。文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)OpenCV有一定的幫助,需要的可以參考一下
    2022-01-01

最新評論

淮滨县| 文山县| 东乌珠穆沁旗| 化州市| 南皮县| 准格尔旗| 东安县| 海原县| 吴忠市| 额敏县| 萨迦县| 鹤峰县| 吐鲁番市| 南京市| 汉寿县| 东明县| 藁城市| 万源市| 高淳县| 寿阳县| 铜鼓县| 武宁县| 怀集县| 高清| 嘉鱼县| 安义县| 南雄市| 昌平区| 施秉县| 龙山县| 堆龙德庆县| 包头市| 普兰店市| 大庆市| 泗水县| 华池县| 青田县| 泰兴市| 得荣县| 富裕县| 潼关县|