Exemple #1
0
 /// <summary>
 /// Fonction dont le rôle est de mettre à jour le projectile et de dire au jeu
 /// si celui-ci peut être retiré ou non
 /// </summary>
 /// <param name="deltaT">La vitesse de rafraichissement du jeu</param>
 /// <param name="gw">Instance représentant le jeu</param>
 /// <returns>Booléen indiquant si le projectile peut être retiré du jeu(FAUX) ou non (VRAI)</returns>
 public bool Update(Single deltaT, GW gw)
 {
     //Si le projectile sort de la limite du jeu ou devient invisible, alors retirer celui-ci du jeu
     if (gw.Contains(this) == false || color.A <= 25)
     {
         return(false);
     }
     //Sinon si le projectile est limité à une durée de vie, alors s'assurer de le retirer au bon moment
     else if (hasLifeLine && DateTime.Now > tempsVie)
     {
         return(false);
     }
     //Sinon, on ajoute de nouvelles particules tout en le faisant avancer.
     else
     {
         if (rnd.Next(1, 15 + 1) == 1)
         {
             Angle += 7.50f;
         }
         else if (rnd.Next(1, 15 + 1) == 1)
         {
             Angle -= 7.50f;
         }
         Advance(ProjectileSpeed);
         color.A -= (byte)(reductionAlpha);
         return(true);
     }
 }
Exemple #2
0
 /// <summary>
 /// Méthode dont le rôle est de mettre à jour le projectile et de dire au jeu s'il
 /// peut supprimer le projectile ou non
 /// </summary>
 /// <param name="deltaT">La vitesse de rafraichissement du jeu</param>
 /// <param name="gw">Instance représentant le jeu</param>
 /// <returns>Booléen indiquant si le projectile peut être détruit(FALSE) ou non(TRUE)</returns>
 public bool Update(Single deltaT, GW gw)
 {
     //Si le projectile sort de la limite du jeu, alors retirer celui-ci du jeu
     if (gw.Contains(this) == false)
     {
         return(false);
     }
     //Sinon, on ajoute de nouvelles particules tout en le faisant avancer.
     else
     {
         gw.AddParticle(new Particle(Position.X, Position.Y, 4, new Color(color.R, color.G, color.B,
                                                                          (byte)rnd.Next(25, 255 + 1)), 5.35f, 0.55f, -rnd.Next(180 - (int)Angle - 5, 180 - (int)Angle + 5 + 1)));
         Advance(ProjectileSpeed);
         return(true);
     }
 }