⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snake.java~8~

📁 手机游戏贪吃蛇源码
💻 JAVA~8~
字号:
import javax.microedition.lcdui.*;

public class Snake {
    final static int DIR_RIGHT = 0;
    final static int DIR_LEFT = 1;
    final static int DIR_UP = 2;
    final static int DIR_DOWN = 3;
    final static int MAX_NODE = 10;
    final static int NODE_LENGTH = 5;
    int[] nodeX = new int[MAX_NODE];
    int[] nodeY = new int[MAX_NODE];
    int currentNode = 0;
    int direction;

    void update(){
        switch(direction){
        case DIR_RIGHT:
            nodeX[0] += NODE_LENGTH;
            break;
        case DIR_LEFT:
            nodeX[0] -= NODE_LENGTH;
            break;
        case DIR_UP:
            nodeY[0] -= NODE_LENGTH;
            break;
        case DIR_DOWN:
            nodeY[0] += NODE_LENGTH;
            break;
        }

        rearrangeSnake();
    }

    void rearrangeSnake(){
        for(int i = currentNode;i > 0;i--){
            nodeX[i] = nodeX[i - 1];
            nodeY[i] = nodeY[i - 1];
        }
    }

    void changeDir(int key){
        switch(key){
        case Canvas.RIGHT:
            direction = DIR_RIGHT;
            break;
        case Canvas.LEFT:
            direction = DIR_LEFT;
            break;
        case Canvas.UP:
            direction = DIR_UP;
            break;
        case Canvas.DOWN:
            direction = DIR_DOWN;
            break;
        }
    }

    void addNode(int x, int y){
        currentNode++;
        if(currentNode == MAX_NODE)
            currentNode = MAX_NODE - 1;
        rearrangeSnake();

        nodeX[0] = x;
        nodeY[0] = y;
    }

    void draw(Graphics g){
        for(int i = 0;i < currentNode;i++){
            g.setColor(0);
            g.fillRect(nodeX[i], nodeY[i], NODE_LENGTH, NODE_LENGTH);
        }
    }
}

⌨️ 快捷键说明

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