public void Attaquer(Soldat ennemi) { // Si du même camp, on ne fait rien if (Camp == ennemi.Camp) { return; } if (Camp == Camp.Empire) { Console.WriteLine("Traitor!"); Console.WriteLine($"Le soldat {Matricule} attaque le rebelle {ennemi.Matricule} et lui inflige {Degats} de dégats."); Console.ResetColor(); } else { Console.WriteLine("Pour la princesse Organa!"); Console.WriteLine($"Le rebelle {Matricule} attaque le soldat {ennemi.Matricule} et lui inflige {Degats} de dégats."); Console.ResetColor(); } ennemi.Sante -= Degats; if (ennemi.IsDead(ennemi.Sante)) { Console.WriteLine("Le soldat ennemi est mort \r\n"); } else { Console.WriteLine($"Il reste {ennemi.Sante} de santé au soldat ennemi. \r\n"); } }
public void LaunchBattle() { string favori = GetFavori(RebellesList, EmpireList); listeSoldats = new List <Soldat>(); listeSoldats.AddRange(RebellesList); listeSoldats.AddRange(EmpireList); if (Enum.TryParse(favori, out enumFavori) && enumFavori == Camp.Empire) { hero = PickHero(EmpireList); Console.WriteLine($"L'empire commence la bataille et le soldat {hero.Matricule} est le héros ! \r\n"); EmpireList[0].Attaquer(RebellesList[0]); } else { hero = PickHero(RebellesList); Console.WriteLine($"Les rebelles commencent la bataille et le rebelle {hero.Matricule} est le favori ! \r\n"); RebellesList[0].Attaquer(EmpireList[0]); } do { if (EmpireList.Count <= 0 || RebellesList.Count <= 0) { break; } Soldat soldatEmpire = EmpireList[rnd.Next(0, EmpireList.Count - 1)]; Soldat soldatRebelle = RebellesList[rnd.Next(0, RebellesList.Count - 1)]; listeSoldats[rnd.Next(0, 100)].Attaquer(listeSoldats[rnd.Next(0, 100)]); if (soldatEmpire.IsDead(soldatEmpire.Sante)) { EmpireList.Remove(soldatEmpire); } if (soldatRebelle.IsDead(soldatRebelle.Sante)) { RebellesList.Remove(soldatRebelle); } } while (true); }