贪吃蛇:看了传智博客的视频整理出来的代码
Snake类
package snake;
import ;
import ;
import ;
import ;
import ;
import ;
public class Snake {
//定义方向的常量
public static final int UP=-1;
public static final int DOWN=1;
public static final int LEFT=2;
public static final int RIGHT=-2;
private int oldDirection,newDirection;
private Point oldTail;
private boolean life;
private LinkedList<Point> body=new LinkedList<Point>(); //蛇的坐标
private Set<SnakeListener> listener=new HashSet<SnakeListener>();
//蛇没身体要初始化
public Snake(){
init();
}
public void init(){
//显示区最中间点
int x=;
int y=;
//初始化身体节点
for(int i=0;i<3;i++){
//添加节点
(new Point(x--,y));//蛇头在右边默认方向为右
oldDirection=newDirection=RIGHT;
life=true;
}
}
public void move(){
("Snake's move");
if(!((oldDirection+newDirection)==0)){
oldDirection=newDirection;
}
//1. 去尾
oldTail=();
int x=().x; //原坐标
int y=().y;
switch(oldDirection){
case UP:
y--;
if(y<0){
y=-1;
}
break;
case DOWN:
y++;
if(y>=){
y=0;
}
break;
case LEFT:
x--;
if(x<0){
x=-1;
}
break;
case RIGHT:
x++;
if(x>=){
x=0;
}
break;
Java编写的贪吃蛇游戏代码 来自淘豆网www.taodocs.com转载请标明出处.