Пример #1
0
        public void Move()
        {
            var newHead = GetNewHeadCoordinate();

            snake.AddBefore(snake.First, newHead);
            Changes.Enqueue(new SnakeCoordinateChange(newHead, SnakeCoordinateChangeType.Add));

            if (gameField.GetDotType(newHead) == DotType.Fruit)
            {
                return;
            }

            Changes.Enqueue(new SnakeCoordinateChange(snake.Last.Value, SnakeCoordinateChangeType.Remove));
            snake.RemoveLast();
        }