Ejemplo n.º 1
0
        public Resultat Tour(int deHeros, int deMonstre)
        {
            if (!_monstreCourant.EstVivant())
            {
                _monstreCourant = _monstres.Dequeue();
            }

            if (GagneLeCombat(deHeros, deMonstre))
            {
                Heros.GagneUnCombat();
                _monstreCourant.PerdsUnCombat(deHeros - deMonstre);
                return(Resultat.Gagne);
            }
            else
            {
                var temps = _fournisseurMeteo.QuelTempsFaitIl();
                if (temps == Meteo.Tempete)
                {
                    Heros.PerdsUnCombat(2 * (deMonstre - deHeros));
                }
                else
                {
                    Heros.PerdsUnCombat(deMonstre - deHeros);
                }
                return(Resultat.Perdu);
            }
        }
Ejemplo n.º 2
0
 public Resultat Tour(int deHeros, int deMonstre)
 {
     if (GagneLeCombat(deHeros, deMonstre))
     {
         Heros.GagneUnCombat();
         return(Resultat.Gagne);
     }
     else
     {
         var temps = _fournisseurMeteo.QuelTempsFaitIl();
         if (temps == Meteo.Tempete)
         {
             Heros.PerdsUnCombat(2 * (deMonstre - deHeros));
         }
         else
         {
             Heros.PerdsUnCombat(deMonstre - deHeros);
         }
         return(Resultat.Perdu);
     }
 }
Ejemplo n.º 3
0
        public async Task <Resultat> Tour(int deHeros, int deMonstre)
        {
            if (GagneLeCombat(deHeros, deMonstre))
            {
                Heros.GagneUnCombat();
                return(Resultat.Gagne);
            }
            else
            {
                var temps = await _fournisseurMeteo.QuelTempsFaitIl(DateTime.Now);

                if (temps == Meteo.Tempete)
                {
                    Heros.PerdsUnCombat(2 * (deMonstre - deHeros));
                }
                else
                {
                    Heros.PerdsUnCombat(deMonstre - deHeros);
                }
                return(Resultat.Perdu);
            }
        }