else if(po==true){
snake_array.reverse();
var i=0;
var c=snake_array[i];
//paints head
paint_head(c.x,c.y);
for(i=1;i<snake_array.length;i++){
//paints body
var c=snake_array[i];
paint_body(c.x,c.y);
if(snake_array[i].x<snake_array[i-1].x){
d="right";
}
else if(snake_array[i].x>snake_array[i-1].x){
d="left";
}
else if(snake_array[i].y>snake_array[i-1].y){
d="up";
}
else if(snake_array[i].y<snake_array[i-1].y){
d="down";
}
}
//poison status false
po=false;
}
po 是中毒状态的变量。每当蛇吃这种食物时。应该倒过来,回到之前的轨迹。。是的,蛇会回复,但问题是蛇没有回到之前的轨迹。,而是在吃毒之前与之前的方向相反……
x <-food
^ <-head v <-tail v <-tail
| | |
| >-becomes-> | >-instead of-> |
>.....| .......| <.....|
^ | ^
|_tail V <-head |_head