snake_run.m

来自「贪食蛇游戏的matlab实现」· M 代码 · 共 41 行

M
41
字号

while w<1;
    app=get(gcf,'CurrentKey');
    direction;
    filll(T(1,:),T(2,:),'w');
    xv=T(1,1)+real(D);
    yv=T(2,1)+imag(D);
    xv=mod(xv,N);
    yv=mod(yv,N-1);
    pu=[xv;yv];
    qt=T(1,:)+T(2,:)*i;
    qt=qt-pu(1)-pu(2)*i;
    if min(abs(qt))<0.2;
        set(hf,'string','Game over')
        set(tx,'string','the snake is already dead')
        break;
        break;
    end    
    if xv+yv*i==Z;
        T=[pu,T];
        K=K+1;
        set(hd,'string',num2str(K))
        S=S+1;
        Z=round((N-1)*rand(1))+round((N-2)*rand(1))*i;
        py=T(1,:)+T(2,:)*i-Z;
        while min(abs(py))<0.2
            Z=round((N-1)*rand(1))+round((N-2)*rand(1))*i;
            py=T(1,:)+T(2,:)*i-Z;
        end
        filll(real(Z),imag(Z),'r');
    else
        T(:,2:end)=T(:,1:end-1);
        T(:,1)=pu;
    end
    filll(T(1,:),T(2,:),'g');
    if St==0;
        break;
        break;
    end
    pause(Tp);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?