Ejemplo n.º 1
0
        // Définie le type d'interraction suivant les Nuisibles qui se rencontres
        public void interagitAvec(Nuisible nuisible)
        {
            // Si le Nuisible est mort, il n'y a aucune interraction
            if (nuisible._etat == Etat.Mort || _etat == Etat.Mort)
            {
                return;
            }

            // Si le Nuisible est un Zombie, il transforme le Nuisible rencontré
            if (_etat == Etat.Zombie)
            {
                nuisible._etat    = Etat.Zombie;
                nuisible._vitesse = Zombie.Vitesse;
            }
            // Si le nuisible est un Pigeon mutant, tue obligatoirement le Rat
            else if (nuisible._etat != Etat.Zombie && this.GetType() != nuisible.GetType() && nuisible.GetType() != typeof(Pigeon) && this.GetType() == typeof(PigeonMutant))
            {
                nuisible._etat = Etat.Mort;
            }
            // Si le Nuisible est un Rat ou un Pigeon, tue aléatoirement un des deux Nuisibles
            else if (nuisible._etat != Etat.Zombie && this.GetType() != nuisible.GetType() && nuisible.GetType() != typeof(PigeonMutant) && this.GetType() != typeof(PigeonMutant))
            {
                Random aleatoire = new Random();
                if (aleatoire.Next(0, 2) == 0)
                {
                    nuisible._etat = Etat.Mort;
                }
                else
                {
                    this._etat = Etat.Mort;
                }
            }
        }
Ejemplo n.º 2
0
 // Test si deux Nuisibles se trouve sur la même case
 public bool memeCase(Nuisible nuisible)
 {
     return(this._position.x == nuisible._position.x && this._position.y == nuisible._position.y);
 }