public void PlayRound() { if (FirstAction == action.Special) // Les attaques spéciales changent le déroulement du round -> Test en premier { Console.WriteLine($"{Beginner.Name} lance son attaque spéciale"); Beginner.SpecialAttack(Second, this); } if (SecondAction == action.Special) { Console.WriteLine($"{Second.Name} lance son attaque spéciale"); Second.SpecialAttack(Beginner, this); } if (FirstAction == action.Attack) { Console.WriteLine($"{Beginner.Name} attaque {Second.Name}"); if (SecondAction == action.Attack) { Console.WriteLine($"{Second.Name} attaque {Beginner.Name}"); Beginner.Hit(Second); Second.Hit(Beginner); } else if (SecondAction == action.Block) { Console.WriteLine($"{Second.Name} a bloqué l'attaque de {Beginner.Name}!"); Second.Block(Beginner); } else if (SecondAction == action.Null) { Beginner.Hit(Second); } else { Console.WriteLine("ERREUR ACTION 1"); } } else if (FirstAction == action.Block) { Console.WriteLine($"{Beginner.Name} se défend"); if (SecondAction == action.Attack) { Console.WriteLine($"{Second.Name} attaque {Beginner.Name}"); Console.WriteLine($"{Beginner.Name} a bloqué l'attaque de {Second.Name}!"); Beginner.Block(Second); } else if (SecondAction == action.Block) { Console.WriteLine("Les deux adversaires se défendent, cela n'a aucun effet..."); } else if (SecondAction == action.Null) { Console.WriteLine($"{Beginner.Name} se défend dans le vide"); } } else if (FirstAction == action.Null) { if (SecondAction == action.Attack) { Console.WriteLine($"{Second.Name} attaque {Beginner.Name}"); Second.Hit(Beginner); } else if (SecondAction == action.Block) { Console.WriteLine($"{Second.Name} se défend dans le vide"); } else if (SecondAction == action.Null) { } else { Console.WriteLine("ERREUR ACTION 2"); } } else { Console.WriteLine("ERREUR ACTION 3"); } Beginner.ResetExtra(); Second.ResetExtra(); }