Beispiel #1
0
 /// <summary>
 /// Boucle de traitement
 /// </summary>
 /// <param name="lePattern"></param>
 private void TraiterPattern(EmpiricSimulationWorker lePattern = null)
 {
     if (lePattern != null)
     {
         while (lePattern.IsCiblesRestantesEtageActuel())
         {
             lePattern.EffectuerRunEtageEnCours();
         }
     }
     else
     {
         foreach (Etage e in PlanGeneral.RunsPossibles)
         {
             var wsp = new EmpiricSimulationWorker(e, PlanGeneral.RunsPossibles, PlanGeneral.EnnemisAElliminer);
             TraiterPattern(wsp);
         }
     }
     if (lePattern != null)
     {
         if (lePattern.IsCiblesRestantes())
         {
             foreach (Etage e in lePattern.EtagesDisponibles)
             {
                 var wsp = new EmpiricSimulationWorker(lePattern, e);
                 TraiterPattern(wsp);
             }
         }
         else
         {
             Scenarii.Add(lePattern);
         }
     }
 }
Beispiel #2
0
 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;
 }