/// <summary>
 /// Initialise la fenêtre du jeu
 /// </summary>
 public MillipedeGameForm( )
 {
     InitializeComponent( );
     //<Charles Lachance>
     //On journalise le démarage du jeu
     Logger.GetInstance().Log("Program started");
     //On crée une nouvelle partie
     game = new MillipedeGame();
     //On crée le tableau de records
     leaderboard = new LeaderboardForm();
     //<Charles Lachance>
 }
Example #2
0
        /// <summary>
        /// Met à jour la recharge de balle et détermine si le joueur a récupéré
        /// la recharge de balle.
        /// </summary>
        /// <param name="player">Le joueur</param>
        /// <returns>Retourne vrai si le joueur a pris la recharge de balle. Retourne faux sinon.</returns>
        public bool Update(Player player)
        {
            //Si le joueur touche à la recharge de balle...
            if (MillipedeGame.CheckIntersectionBetweenRectangle(new RectangleF(XPosition, YPosition, SIZE, SIZE),
                                                                new RectangleF(player.XPosition, player.YPosition, Player.PLAYER_WIDTH, Player.PLAYER_HEIGHT)))
            {
                //On augmente le nombre de balle du joueur
                player.Ammo += NB_BULLET_TO_ADD;
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Évènement appelé à chaque mis à jour du jeu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnTimer(object sender, EventArgs e)
        {
            //On affiche le score du joueur
            labelScore.Text = "Score : " + game.Score;

            //<Charles Lachance>
            //On met à jour le jeu et on récupère le résultat
            EndGameResult result = game.Update( );

            //On affiche le nombre de vies restantes au joueur
            lblVies.Text = "Vies : " + game.Player.NbLives;
            //On affiche le nombre de munitions restantes au joueur
            lblMunitions.Text = "Munitions : " + game.Player.Ammo;

            //Si la partie est finie...
            if (result == EndGameResult.GAME_LOST)
            {
                //On arrête le jeu
                mainTimer.Enabled = false;
                //<Tommy Bouffard>
                //On arrete la musique lorsque la partie se termine.
                MillipedeGame.sndTrack.Stop();
                //</Tommy Bouffard>

                //On passe le score du joueur au tableau des records
                leaderboard.Score = game.Score;
                //Si le joueur ne clique pas sur le bouton quitter...
                if (leaderboard.ShowDialog() != DialogResult.Abort)
                {
                    //On crée une nouvelle partie
                    game = new MillipedeGame();
                    //On reprend le jeu
                    mainTimer.Enabled = true;
                }
                else
                {
                    //On quitte le programme
                    Application.Exit();
                }
            }

            Invalidate( );
        }