示例#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);
            }
        }
示例#2
0
 public CombatContext(Joueur joueur, IMonstre monstre, Dictionary <Type, int> mapMonstresTues, Timer timer)
 {
     Joueur          = joueur;
     Monstre         = monstre;
     MapMonstresTues = mapMonstresTues;
     Timer           = timer;
 }
示例#3
0
        public Jeu(IFournisseurMeteo fournisseurMeteo, IFabriqueDeMonstres fabriqueDeMonstres)
        {
            Heros     = new Heros(15);
            _monstres = new Queue <IMonstre>(fabriqueDeMonstres.GetMonstres());

            _fournisseurMeteo = fournisseurMeteo;
            _monstreCourant   = _monstres.Dequeue();
        }