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