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); }