コード例 #1
0
        // Permet de gerer l'explosion des vaisseaux
        private void timerExplosion_Tick(object sender, EventArgs e)
        {
            for (int i = 0; i < Enemis.Count; i++) // on balaie les enemis
            {
                if (Enemis.ElementAt(i).mort) // si un d'entre eux est mort, on le fait exploser
                {
                    Enemis.ElementAt(i).explo += 1; // l'explosion se fait en 3 images, on itere pour faire passer les images de l'explosion dans l'ordre
                    Enemis.ElementAt(i).Death(); // cela se fait dans l'objet enemi
                    if (Enemis.ElementAt(i).explo == 3)
                    {
                        Enemis.ElementAt(i).Dispose(); //on supprime l'enemi
                        Enemis.RemoveAt(i);//quand l'enemi est mort, on le supprime de la liste
                    }
                }
            }
            if (!Joueur1.enVie&&Joueur1.explo<3)
            {                            // cette partie permet de faire exploser le joueur
                    Joueur1.explo += 1; // de nouveau, cela se fait en 3 étapes.
                    Joueur1.Mort();
            }

            if (Joueur1.explo == 3)
            {                       // quand le joueur est mort
                 Joueur1.Dispose(); // on le supprime
                 FormGameOver frm = new FormGameOver(); // on crée la fenetre game over
                 frm.SetScore(Joueur1.score);// on mets le score du joueur (il y a une méthode spécifique pour qu'on puisse utiliser la meme Form pour le multi)
                 frm.Show();// on fait apparaitre la fenetre
                 stop = true; // on arrete le thread du décor
                 frm.BringToFront(); // on met la fenetre au premier plan, au dessus du menu qui réaparait lors de la fermeture de cette fenetre
                 this.Close(); // on ferme la fenetre et donc le menu réaparait
                 this.Dispose(); // par sécurité (ne sert a rien)
             }
        }