Exemple #1
0
        private void playButton_Click(object sender, EventArgs e)
        {
            SnakeGame gameForm = new SnakeGame();

            gameForm.FormClosed += new FormClosedEventHandler(gameFormClose);
            gameForm.Show();
            this.Hide();
        }
Exemple #2
0
        private void snakeUpdate()
        {
            try
            {
                //new head position - snake move
                Point newPosition = new Point(
                    snake[0].X + snakeDirection.X,
                    snake[0].Y + snakeDirection.Y);

                snake.Insert(0, newPosition);
                snake.RemoveAt(snake.Count - 1);

                //eating
                if (snake[0].X == food.X && snake[0].Y == food.Y)
                {
                    snake.Add(new Point(food.X, food.Y));
                    score++;
                    SnakeGame.ActiveForm.Text = "Snake score " + score;
                    generateFood();
                }

                //eating bad food
                if (snake[0].X == badFood.X && snake[0].Y == badFood.Y)
                {
                    score--;
                    SnakeGame.ActiveForm.Text = "Snake score " + score;
                    snake.RemoveAt(snake.Count - 1);
                }

                //collid with body
                for (int i = 1; i < snake.Count - 1; i++)
                {
                    if (snake[0].X == snake[i].X && snake[0].Y == snake[i].Y)
                    {
                        timer.Stop();
                        MessageBox.Show("You have collided with your body! Play again.\nScore: " + score);
                        SnakeGame snakeGame = new SnakeGame();
                        snakeGame.Show();
                        this.Dispose(false);
                    }
                }

                //leave the map field
                if (snake[0].X > this.ClientSize.Width - 10 || snake[0].X <0 ||
                                                                           snake[0].Y> this.ClientSize.Height - 10 || snake[0].Y < 0)
                {
                    timer.Stop();
                    MessageBox.Show("You left the map field! Play again.\nScore: " + score);
                    SnakeGame snakeGame = new SnakeGame();
                    snakeGame.Show();
                    this.Dispose(false);
                }
            }
            catch (ArgumentException)
            {
                //eating bad food first to kill snake
                timer.Stop();
                MessageBox.Show("You ate bad food by accident! The Snake is dead. Play again.\nScore: " + score);
                SnakeGame snakeGame = new SnakeGame();
                snakeGame.Show();
                this.Dispose(false);
            }
        }