( !(canMove(DIRECTION_UP))&&!(canMove(DIRECTION_LEFT))&&!(canMove(DIRECTION_RIGHT)))||//而且只有这一种走法
!( nextCursor[0] == lastStep[0] && nextCursor[1]+1 == lastStep[1] && lastStep[4] == DIRECTION_UP) )//或者不是走原路
this.nextCursor[1]++;//向下移动一下
else if (canMove(DIRECTION_UP))
this.nextCursor[1]--;//向上移动一下
else if (canMove(DIRECTION_LEFT))
this.nextCursor[0]--;//向左移动一下
else if (canMove(DIRECTION_RIGHT))
this.nextCursor[0]++;//向右移动一下
Move();
repaint();
break;
}
//向左
if (canMove(DIRECTION_LEFT)) {
if ( ( nextCursor[0]-1 == lastStep[0] && nextCursor[1] == lastStep[1] && lastStep[4] == DIRECTION_RIGHT) && //如果是走回头路
( !(canMove(DIRECTION_UP))&&!(canMove(DIRECTION_DOWN))&&!(canMove(DIRECTION_RIGHT)))||//而且只有这一种走法
!( nextCursor[0]-1 == lastStep[0] && nextCursor[1] == lastStep[1] && lastStep[4] == DIRECTION_RIGHT) )//或者不是走原路
this.nextCursor[0]--;//向左移动一下
else if (canMove(DIRECTION_UP))
this.nextCursor[1]--;//向上移动一下
else if (canMove(DIRECTION_DOWN))
this.nextCursor[1]++;//向下移动一下
else if (canMove(DIRECTION_RIGHT))
this.nextCursor[0]++;//向右移动一下
Move();
repaint();
break;
}