/// <summary> /// Retourne le nb d'ennemi que l'on peut éliminer dans un étage par rapport à un plan donné /// </summary> private int VerifierNbEnnemisEtage(Etage etg, PlanTraitement plan) { plan.RunsPossibles = new List <Etage>() { etg }; return(GenererDicoEtageNbEnnemis(plan).First().Value); }
public EmpiricSimulationWorker(EmpiricSimulationWorker wsp, Etage etageDeCombat) { EtagesEffectues = wsp.EtagesEffectues.ToDictionary(x => x.Key, x => x.Value); EtagesEffectues.Add(new Etage(etageDeCombat.Difficulte, etageDeCombat.MesVagues, etageDeCombat.Numero, etageDeCombat.NomZone), 0); EtagesDisponibles = wsp.EtagesDisponibles.ToList(); EtagesDisponibles.Remove(etageDeCombat); CiblesAAbattre = wsp.CiblesAAbattre.ToDictionary(x => x.Key, x => x.Value); Overkills = wsp.Overkills; }
public EmpiricSimulationWorker(Etage etageDeDepart, List <Etage> etagesRestants, Dictionary <E_NomEnnemiSucces, uint> cibles) { EtagesEffectues = new Dictionary <Etage, uint>() { { new Etage(etageDeDepart.Difficulte, etageDeDepart.MesVagues, etageDeDepart.Numero, etageDeDepart.NomZone), 0 } }; EtagesDisponibles = etagesRestants.ToList(); EtagesDisponibles.Remove(etageDeDepart); CiblesAAbattre = cibles.ToDictionary(x => x.Key, x => x.Value); Overkills = 0; }
internal AlgoMaxTargetNumberPerEnemiSimulationWorker(Etage etageEnCours, E_NomEnnemiSucces typeEnnemiEnCours, Dictionary <E_NomEnnemiSucces, uint> cibles) { EtagesEffectues = new Dictionary <Etage, int>() { { new Etage(etageEnCours.Difficulte, etageEnCours.MesVagues, etageEnCours.Numero, etageEnCours.NomZone), 0 } }; EtageEnCours = etageEnCours; TypeEnnemiEnCours = typeEnnemiEnCours; CiblesAAbattre = cibles.ToDictionary(x => x.Key, x => x.Value); Overkills = 0; NbDeRunTotal = 0; CoutTotalScenario = 0; }
internal AlgoMaxTargetNumberPerEnemiSimulationWorker(Etage etageEnCours, E_NomEnnemiSucces typeEnnemiEnCours, AlgoMaxTargetNumberPerEnemiSimulationWorker oldWorker) { EtagesEffectues = oldWorker.EtagesEffectues.ToDictionary(x => x.Key, x => x.Value); if (!EtagesEffectues.ContainsKey(etageEnCours)) { EtagesEffectues.Add(new Etage(etageEnCours.Difficulte, etageEnCours.MesVagues, etageEnCours.Numero, etageEnCours.NomZone), 0); } CiblesAAbattre = oldWorker.CiblesAAbattre.ToDictionary(x => x.Key, x => x.Value); Overkills = oldWorker.Overkills; EtageEnCours = etageEnCours; TypeEnnemiEnCours = typeEnnemiEnCours; NbDeRunTotal = oldWorker.NbDeRunTotal; CoutTotalScenario = oldWorker.CoutTotalScenario; }
public MaxTargetNumberSimulationWorker(Dictionary <E_NomEnnemiSucces, uint> ennemisAElliminer, Etage etageDeDepart, int nbEnnemisParRun, PlanTraitement lePlan = null) { EnnemisAElliminer = ennemisAElliminer.ToDictionary(x => x.Key, x => x.Value); NbEnnemisParRun = nbEnnemisParRun; Objectifs = new Dictionary <Etage, int> { { new Etage(etageDeDepart.Difficulte, etageDeDepart.MesVagues, etageDeDepart.Numero, etageDeDepart.NomZone), 0 } }; EtageActuel = new Etage(etageDeDepart.Difficulte, etageDeDepart.MesVagues, etageDeDepart.Numero, etageDeDepart.NomZone); PlanAssocie = lePlan == null ? null : new PlanTraitement() { Algorithme = lePlan.Algorithme, EnnemisAElliminer = lePlan.EnnemisAElliminer.ToDictionary(x => x.Key, x => x.Value), RunsPossibles = lePlan.RunsPossibles.ToList() }; }