Beispiel #1
0
        public void ChangeDirection(Vector newDirection)
        {
            SnakeParticle headOfTheSnake = this.body[0];

            if (headOfTheSnake.Direction != newDirection &&
                headOfTheSnake.Direction != newDirection.GetOpposite())
            {
                headOfTheSnake.Direction = newDirection;
            }
        }
Beispiel #2
0
        public static bool CheckForCollision(Snake snake, Food food)
        {
            SnakeParticle snakeHead = snake.Body[0];

            if (food.GetPosition() == snakeHead.GetPosition())
            {
                return(true);
            }

            return(false);
        }
Beispiel #3
0
        public static bool CheckForCollision(Snake snake, int screenWidth, int screenHeight)
        {
            SnakeParticle snakeHead = snake.Body[0];

            for (int i = 1; i < snake.Body.Count; i++)
            {
                if (snakeHead.GetPosition() == snake.Body[i].GetPosition())
                {
                    return(true);
                }
            }

            if (snakeHead.Position.X < 0 || snakeHead.Position.X >= screenWidth ||
                snakeHead.Position.Y < 0 || snakeHead.Position.Y >= screenHeight)
            {
                return(true);
            }

            return(false);
        }
Beispiel #4
0
        public void Grow()
        {
            SnakeParticle tail = this.body[this.body.Count - 1];

            body.Add(new SnakeParticle(tail.Position - tail.Direction, tail.Direction));
        }