public Heros Combat(Heros heros, Monstre monstre) { string choix; /* heros.PtsVie = 10; // TODO - Remove, for short combat * heros.PtsMana = 10; // TODO - Remove, for short combat */ while (monstre.PtsVie > 0 && heros.PtsVie > 0) { Console.Clear(); Console.WriteLine("*****************************************************"); Console.WriteLine(" COMBAT"); heros.AfficherInfo(); monstre.AfficherInfo(); int ptsDegats; AfficherMenuCombat(); choix = Console.ReadLine(); switch (choix) { case "1": heros.ModeDefense = false; Console.WriteLine("*****************************************************"); Console.WriteLine(" 1) Attaquer standard"); Console.WriteLine($" 2) Attaque spéciale (Cout: {heros.CoutAttaqueMagique} points de mana)"); Console.Write(" Entrez-votre choix: "); choix = Console.ReadLine(); switch (choix) { case "1": if (monstre.ModeDefense) { ptsDegats = heros.PtsAttaque - monstre.PtsDefense; } else { ptsDegats = heros.PtsAttaque; } break; case "2": if (heros.PtsMana >= heros.CoutAttaqueMagique) { if (monstre.ModeDefense) { ptsDegats = heros.PtsAttaqueMagique - monstre.PtsDefense; } else { ptsDegats = heros.PtsAttaqueMagique; } heros.AttaqueSpeciale(); } else { Console.WriteLine($"{heros.Nom} n'a pas assez de points de mana."); ptsDegats = 0; } break; default: AfficherChoixInvalide(); ptsDegats = 0; break; } if (ptsDegats < 0) { ptsDegats = 0; } monstre.SubirDegats(ptsDegats); Console.WriteLine($"\n{heros.Nom} attaque et fait {ptsDegats} de dégats à {monstre.Nom}"); break; case "2": heros.ModeDefense = true; Console.WriteLine($"\n{heros.Nom} se prépare à se défendre."); break; case "3": if (heros.NbrPotion > 0) { Console.WriteLine("1) Regénéger points de vie"); Console.WriteLine("2) Regénéger points de mana"); Console.Write("\nEntrez-votre choix: "); choix = Console.ReadLine(); switch (choix) { case "1": heros.RegenererPtsVie(50); break; case "2": heros.RegenererPtsMana(50); break; default: AfficherChoixInvalide(); break; } } else { Console.WriteLine("Vous n'avez plus de potion!"); } break; default: AfficherChoixInvalide(); break; } Console.ReadKey(); Console.Clear(); Console.WriteLine("*****************************************************"); Console.WriteLine(" COMBAT"); heros.AfficherInfo(); monstre.AfficherInfo(); Console.WriteLine("Tour du monstre..."); switch (LancerDes(2, false)) { case 1: monstre.ModeDefense = false; if (heros.ModeDefense) { ptsDegats = monstre.PtsAttaque - heros.PtsDefense; } else { ptsDegats = monstre.PtsAttaque; } if (ptsDegats < 0) { ptsDegats = 0; } heros.SubirDegats(ptsDegats); Console.WriteLine($"\n{monstre.Nom} attaque et fait {ptsDegats} de dégats à {heros.Nom}"); break; case 2: Console.WriteLine($"\n{monstre.Nom} se prépare à se défendre."); monstre.ModeDefense = true; break; } Console.ReadKey(); } return(heros); }