コード例 #1
0
 internal void Move(int Step, Direction NewDirection)
 {
     if (NewDirection == Direction.UP && CurrentDirection == Direction.DOWN)//illigal
     {
         return;
     }
     if (NewDirection == Direction.DOWN && CurrentDirection == Direction.UP)//illigal
     {
         return;
     }
     if (NewDirection == Direction.LEFT && CurrentDirection == Direction.RIGHT)//illigal
     {
         return;
     }
     if (NewDirection == Direction.RIGHT && CurrentDirection == Direction.LEFT)//illigal
     {
         return;
     }
     if (NewDirection != CurrentDirection)//Turn...
     {
         SnakeBody.Add(new LineSeg(SnakeBody[SnakeBody.Count - 1].End, SnakeBody[SnakeBody.Count - 1].End));
     }
     CurrentDirection = NewDirection;
     Move(Step);
 }