📄 snake.java~7~
字号:
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 = 1;
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 + -