//initmatrix[][];
matrix=newboolean[maxX][];//***********************不初始化是不行滴
for(inti=0;i
matrix[i]=newboolean[maxY];//将矩阵的每一行定义成列的集合
Arrays.fill(matrix[i],false);///使用java.util.Arrays的static方法fill,将matrix[]数组里面的元素全部定义成false
//至此,矩阵里面所有的点的boolean值都是flase
//for(intj=0;j //matrix[i][j]=false;
//}
}
////////////////////////////////////////////////////////////////////
//initnodeArray
intinitlength=10;
for(inti=0;i //确保snake出现在屏幕的中央assurethatthegreedysnakeappearsinthecenterofthemodel
//snake的长度由maxX来确定
intx=maxX/2+i;
inty=maxY/2;
nodeArray.addFirst(newNode(x,y));
matrix[x][y]=true;
}
//////////////////////////////////////////////////////////////////////
//创建食物
food=createFood();
System.out.println("sometest!");
matrix[food.x][food.y]=true;
}//endconstructor
//snake动起
publicbooleanmoveOn(){
Nodehead=(Node)nodeArray.getFirst();
intx=head.x;
inty=head.y;
switch(direction){
caseLEFT:
x--;break;
caseUP:
y--;break;
caseRIGHT:
x++;break;
caseDOWN:
y++;break;
default:
}
if((x>=0&;&;x=0&;&;y if(matrix[x][y]){//当蛇头转至一个bool值为true的点时
if(x==food.x&;&;y==food.y){//该点是食物
nodeArray.addFirst(food);
//吃掉补上
food=createFood();
matrix[food.x][food.y]=true;
score+=10;
returntrue;
}
else//该点不是食物,(蛇尾巴)
returnfalse;