• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: Matlab
  • 标签: matlab  贪吃蛇  

资源简介

基于matlab的贪吃蛇游戏,纯m代码。用wasd键操作

资源截图

代码片段和文件信息

function tanchishe()
global CloseFlag;
global SnakeBd;
global KeyFlag;
global Slong;
global fdx;
global fdy;
global StartFlag;
StartFlag=1;
MoveSpeed=0.1;
KeyFlag=4;
CloseFlag=0;
h=figure(‘KeyPressFcn‘@KeyPress‘Color‘‘w‘);
axes(‘parent‘h‘units‘‘points‘‘position‘[180 50 500 500]‘XLimMode‘‘manual‘‘XLim‘[0 50]‘YLimMode‘‘manual‘‘YLim‘[0 50]);
H=uicontrol(‘parent‘h‘style‘‘text‘‘units‘‘normalized‘‘position‘[0.72 0.7 0.12 0.08]‘string‘0‘BackGroundColor‘[0.5 0.5 0.5]‘FontSize‘25);
uicontrol(‘parent‘h‘style‘‘pushbutton‘‘units‘‘normalized‘‘position‘[0.72 0.5 0.12 0.08]‘string‘‘开始‘‘FontSize‘12‘BackGroundColor‘[0.5 0.5 0.5]‘callback‘[‘global StartFlag;StartFlag=0;‘]);
uicontrol(‘parent‘h‘style‘‘pushbutton‘‘units‘‘normalized‘‘position‘[0.72 0.3 0.12 0.08]‘string‘‘停止‘‘FontSize‘12‘BackGroundColor‘[0.5 0.5 0.5]‘callback‘[‘global CloseFlag;CloseFlag=1;‘]);

StartSnake();
while 1
    if (KeyFlag==1&&SnakeBd(Slong2)==49)||(KeyFlag==2&&SnakeBd(Slong2)==0)||(KeyFlag==3&&SnakeBd(Slong1)==0)||(KeyFlag==4&&SnakeBd(Slong1)==49)||(CloseFlag==1)||(KeyFlag==5)
        a=text(1924‘GAME OVER!‘);
        set(a‘FontSize‘20);
        break;
    end  
    if SnakeBd(Slong:)==[fdxfdy]
        Slong=Slong+1;
        set(H‘string‘Slong-3);
        switch KeyFlag
            case 1
                SnakeBd(Slong:)=[fdxfdy+1];
            case 2
                SnakeBd(Slong:)=[fdxfdy-1];
            case 3
                SnakeBd(Slong:)=[fdx-1fdy];
            case 4
                SnakeBd(Slong:)=[fdx+1fdy];
        end
        food();
    else
    Move(KeyFlag1);
    end
    pause(MoveSpeed);
    if Slong==13
        b=text(1924‘PASSED‘);
        set(b‘FontSize‘20);
        pause(2);
        MoveSpeed=MoveSpeed/2;
        cla;
       

评论

共有 条评论