public static void AttaqueEnnemi(ref Personnage persJ, ref Ennemi baddie) { bool win = false; var cond = persJ.Vitesse > baddie.Vitesse ? AttaqueCondition.Attaque : AttaqueCondition.Defense; int x = 0; while (!win) { if (cond == AttaqueCondition.Attaque) { Console.ForegroundColor = ConsoleColor.Green; if (x == 0) { Console.WriteLine($"\n{persJ.Nom} Attaque !"); ++x; } Console.ForegroundColor = ConsoleColor.White; bool successoption = true; var typeatt = TypeAttaquePersonnage(persJ); switch (typeatt) { case AttaqueChoisie.AttaqueArme: persJ.FrapperEnnemi(ref baddie); break; case AttaqueChoisie.AttaqueSort: successoption = persJ.LancerSortVsEnnemi(ref baddie, null); break; case AttaqueChoisie.Item: successoption = persJ.UtiliserItemVsEnnemi(ref baddie); break; } if (!successoption) { continue; } //WaitAfterAtt Thread.Sleep(450); } if (cond == AttaqueCondition.Defense) { Console.ForegroundColor = ConsoleColor.Red; if (x == 0) { Console.WriteLine($"\n{baddie.Name} Attaque !"); ++x; } Console.ForegroundColor = ConsoleColor.White; var typeatt = TypeAttaqueEnnemi(baddie); switch (typeatt) { case AttaqueChoisie.AttaqueArme: persJ.RecevoirFrappeDeEnnemi(baddie); break; } //WaitAfterAtt Thread.Sleep(450); } cond = cond == AttaqueCondition.Attaque ? AttaqueCondition.Defense : AttaqueCondition.Attaque; x = 0; if (!(persJ.PvActuels <= 0 | baddie.Pv <= 0)) { continue; } if (persJ.PvActuels <= 0) { GameOver(); } else { win = true; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"\n\n ~~~~~~~~~~~~~~~VICTOIRE!!!~~~~~~~~~~~~~~~" + $"\n {persJ.Nom} a Vaincu {baddie.Name} !!!!!\n" + $" Vous avez Gagne !"); Console.WriteLine(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n" + "\n ---> Appuyez sur une touche pour continuer....! <---"); Console.ReadLine(); Console.Clear(); } } Console.ForegroundColor = ConsoleColor.Gray; persJ.AddXpEnnemi(baddie); persJ.CheckLevelPlayer(); baddie.Loot(ref persJ); Console.ReadLine(); }
public static void CombatPersonnage(ref Personnage persJoueur, ref Personnage persEnnemi) { bool win = false; var cond = persJoueur.Vitesse > persEnnemi.Vitesse ? AttaqueCondition.Attaque : AttaqueCondition.Defense; int x = 0; while (!win) { switch (cond) { case AttaqueCondition.Attaque: Console.ForegroundColor = ConsoleColor.Green; if (x == 0) { Console.WriteLine($"\n{persJoueur.Nom} Attaque !"); ++x; } Console.ForegroundColor = ConsoleColor.White; Attaque(persJoueur, ref persEnnemi); break; case AttaqueCondition.Defense: Console.ForegroundColor = ConsoleColor.Red; if (x == 0) { Console.WriteLine($"\n{persEnnemi.Nom} Attaque !"); ++x; } Console.ForegroundColor = ConsoleColor.White; Attaque(persEnnemi, ref persJoueur); break; } cond = cond == AttaqueCondition.Attaque ? AttaqueCondition.Defense : AttaqueCondition.Attaque; x = 0; if (!(persJoueur.PvActuels <= 0 | persEnnemi.PvActuels <= 0)) { continue; } if (persJoueur.PvActuels <= 0) { GameOver(); } else { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"\n\n ~~~~~~~~~~~~~~~VICTOIRE!!!~~~~~~~~~~~~~~~" + $"\n {persJoueur.Nom} a Vaincu {persEnnemi.Nom} !!!!!\n" + $" Vous avez Gagne !"); Console.WriteLine(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n" + "\n ---> Appuyez sur une touche pour continuer....! <---"); Console.ReadLine(); Console.Clear(); win = true; } } Console.ForegroundColor = ConsoleColor.Gray; persJoueur.AddXpPersonnage(persEnnemi); persJoueur.CheckLevelPlayer(); persEnnemi.Loot(ref persJoueur); }