Exemple #1
0
        public void Start()
        {
            isStarded = true;
            Possition movement = new Possition(0, 0);

            while (isStarded == true)
            {
                BoundriesHelper.CheckBoundaries(Snake.SnakeBody.Head.Value, movement);
                Snake.Move(movement);
                if (Snake.CheckSelfCanibalism())
                {
                    Console.Clear();
                    ConsoleHelper.Write(new Possition(0, 0), "Game Over");
                    isStarded = false;
                    break;
                }

                if (Console.KeyAvailable)
                {
                    var key = Console.ReadKey(false).Key;
                    movement = ReadUserInput.GetMovement(key);
                }
                Thread.Sleep(200);
                gameItems.ForEach(i => i.Draw());
            }
        }
        public void Grow(Possition possition)
        {
            var oldPOssition = SnakeBody.Head.Value;

            var newHead = new Node(new Possition(oldPOssition.X, oldPOssition.Y));

            //newHead.Value.ChangePossition(possition);
            BoundriesHelper.CheckBoundaries(newHead.Value, possition);
            SnakeBody.AddHead(newHead);
        }