示例#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)
             }
        }
示例#2
0
 // comme pour le singlePlayer, si un des joueurs est mort, on le fait exploser
 private void timerExplosion_Tick(object sender, EventArgs e)
 {
     for (int i = 0; i < Enemis.Count; i++)
     {
         if (Enemis.ElementAt(i).mort)
         {
             Enemis.ElementAt(i).explo += 1;
             Enemis.ElementAt(i).Death();
             if (Enemis.ElementAt(i).explo == 3)
             {
                 Enemis.ElementAt(i).Dispose();
                 Enemis.RemoveAt(i);
             }
         }
     }
     if (!Joueur1.enVie&&Joueur1.explo<3)
     {
             Joueur1.explo += 1;
             Joueur1.Mort();
     }
      if (Joueur1.explo == 3)
      {
          Joueur1.Dispose();
      }
      if (!Joueur2.enVie && Joueur2.explo < 3)
      {
          Joueur2.explo += 1;
          Joueur2.Mort();
      }
      if (Joueur2.explo == 3)
      {
          Joueur2.Dispose();
      }
      if (!Joueur1.enVie && !Joueur2.enVie) // si les deux joueurs sont morts, on ouvre la fenetre game over.
      {
          FormGameOver frm = new FormGameOver();
          frm.SetScoreMulti(Joueur1.score,Joueur2.score);
          frm.Show();
          ok = false;
          frm.BringToFront();
          this.Close(); // quand cette fenetre ce ferme, elle ferme automatiquement la FormReseau qui a son tour fait apparaitre la fentre du menu.
      }
 }
示例#3
0
 private void timerExplosion_Tick(object sender, EventArgs e)
 {
     for (int i = 0; i < Enemis.Count; i++)
     {
         if (Enemis.ElementAt(i).mort)
         {
             Enemis.ElementAt(i).explo += 1;
             Enemis.ElementAt(i).Death();
             if (Enemis.ElementAt(i).explo == 3)
             {
                 Enemis.ElementAt(i).Dispose();
                 Enemis.RemoveAt(i);
             }
         }
     }
     if (!Joueur1.enVie && Joueur1.explo < 3)
     {
         Joueur1.explo += 1;
         Joueur1.Mort();
     }
     if (Joueur1.explo == 3)
     {
         Joueur1.Dispose();
     }
     if (!Joueur2.enVie && Joueur2.explo < 3)
     {
         Joueur2.explo += 1;
         Joueur2.Mort();
     }
     if (Joueur2.explo == 3)
     {
         Joueur2.Dispose();
     }
     if (!Joueur1.enVie && !Joueur2.enVie)
     {
         FormGameOver frm = new FormGameOver();
         frm.SetScoreMulti(Joueur1.score, Joueur2.score);
         frm.Show();
         ok = false;
         frm.BringToFront();
         this.Close();
     }
 }