/// <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> }
/// <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( ); }