Beispiel #1
0
        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();
        }