//攻击后阶段
 private void EndPhase(Competitor Character)
 {
     if (Character.GetName() == "Kiana")
     {
         if (Count % 2 == 0)
         {
             TextResult += Character.EffectedByKiana_Voice();
         }
         return;
     }
     else if (Character.GetName() == "RaidenMei")
     {
         //芽衣无攻击后阶段
         return;
     }
     else if (Character.GetName() == "RitaRossweisse")
     {
         //丽塔无攻击后阶段
         return;
     }
     else if (Character.GetName() == "TheresaApocalypse")
     {
         TextResult += Another(Character).EffectedByTheresaApocalypse_Judas(Character);
     }
     else if (Character.GetName() == "CorvusCorax")
     {
         //渡鸦无攻击后阶段
         return;
     }
     else if (Character.GetName() == "Bronya")
     {
         TextResult += Another(Character).EffectedByBronya_Cyberangel(Character);
     }
     else if (Character.GetName() == "KallenAndSakura")
     {
         //卡莲&八重樱无攻击后阶段
         return;
     }
     else if (Character.GetName() == "SeeleVollerei")
     {
         //希儿无攻击后阶段
         return;
     }
     else if (Character.GetName() == "FuHua")
     {
         //符华无攻击后阶段
         return;
     }
     else if (Character.GetName() == "Himeko")
     {
         //姬子无攻击后阶段
         return;
     }
 }
        private void Action(Competitor Character)
        {
            bool Return = false;

            if (Character.IsVertigo == true)
            {
                Character.GetType().GetProperty("IsVertigo").SetValue(Character, false);
                Return = true;
            }
            if (Character.IsParalysis == true)
            {
                Character.GetType().GetProperty("IsParalysis").SetValue(Character, false);
                Return = true;
            }
            if (Return == true)
            {
                return;
            }
            bool HasSkills = Character.IsCharmed != true;

            if (Character.IsCharmed == true)
            {
                Character.GetType().GetProperty("CharmedTime").SetValue(Character, ((dynamic)Character.GetType().GetProperty("CharmedTime").GetValue(Character)) - 1);
            }
            if (HasSkills)
            {
                PreparatoryPhase(Character);
            }
            else
            {
                TextResult += $"{Character.GetName()}跳过攻击前阶段\n";
            }
            AttackingPhase(Character, HasSkills);
            if (Another(Character).Health == 0)
            {
                return;
            }
            if (HasSkills)
            {
                EndPhase(Character);
            }
            else
            {
                TextResult += $"{ Character.GetName()}跳过攻击后阶段\n";
            }
            if (Character.CharmedTime == 0)
            {
                Character.GetType().GetProperty("IsCharmed").SetValue(Character, false);
            }
        }
        public void TaskFunction()
        {
            Competitor CurrnetCharacter = Left.Speed >= Right.Speed ? (Competitor)Left : Right;

            while (true)
            {
                Count++;
                TextResult += $"第{Count}回合\n";
                Action(CurrnetCharacter);
                if (Another(CurrnetCharacter).Health == 0)
                {
                    Winner      = CurrnetCharacter;
                    TextResult += $"{CurrnetCharacter.GetName()}胜利,剩下{CurrnetCharacter.Health}点生命\n" + "\n";
                    break;
                }
                CurrnetCharacter = Another(CurrnetCharacter);
                Action(CurrnetCharacter);
                if (Another(CurrnetCharacter).Health == 0)
                {
                    Winner      = CurrnetCharacter;
                    TextResult += $"{CurrnetCharacter.GetName()}胜利,剩下{CurrnetCharacter.Health}点生命\n" + "\n";
                    break;
                }
                CurrnetCharacter = Another(CurrnetCharacter);
                TextResult      += ("\n");
            }
            Parallel.Invoke(() =>
            {
                if (Print.ScreenOrNot == true)
                {
                    new ScreenPrint(TextResult).PrintMethod();
                }
            }
                            , () =>
            {
                if (Print.FileOrNot == true)
                {
                    new FilePrint(TextResult).PrintMethod();
                }
            });
        }
 //攻击前阶段
 private void PreparatoryPhase(Competitor Character)
 {
     if (Character.GetName() == "Kiana")
     {
         //琪亚娜无攻击前阶段
         return;
     }
     else if (Character.GetName() == "RaidenMei")
     {
         //芽衣无攻击前阶段
         return;
     }
     else if (Character.GetName() == "RitaRossweisse")
     {
         //丽塔无攻击前阶段
         return;
     }
     else if (Character.GetName() == "TheresaApocalypse")
     {
         //德莉莎无攻击前阶段
         return;
     }
     else if (Character.GetName() == "CorvusCorax")
     {
         if (Count == 1)
         {
             TextResult += Character.EffectedByCorvusCorax_ToDefender(Another(Character));
         }
         else
         {
             //渡鸦除了第一回合外无攻击前阶段
             return;
         }
     }
     else if (Character.GetName() == "Bronya")
     {
         //布洛妮娅无攻击前阶段
         return;
     }
     else if (Character.GetName() == "KallenAndSakura")
     {
         TextResult += Character.EffectedBySakura();
     }
     else if (Character.GetName() == "SeeleVollerei")
     {
         TextResult += Character.EffectedBySeeleVollerei();
     }
     else if (Character.GetName() == "FuHua")
     {
         //符华无攻击前阶段
         return;
     }
     else if (Character.GetName() == "Himeko")
     {
         if (Count == 1)
         {
             TextResult += Character.EffectedByHimeko_Love(Another(Character));
         }
         else
         {
             if (Count % 2 == 0)
             {
                 TextResult += Character.EffectedByHimeko_Alcohol();
             }
             else
             {
                 return;
             }
         }
     }
 }
        //攻击阶段
        private void AttackingPhase(Competitor Character, bool HasSkills = true)
        {
            Competitor Defender = Another(Character);

            if (Character.GetName() == "Kiana")
            {
                if (Count % 2 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByKiana_Spear(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                }
            }
            else if (Character.GetName() == "RaidenMei")
            {
                if (Count % 2 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByRaidenMei_Dragon(Character);
                        TextResult += Defender.EffectedByRaidenMei_Singer(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByRaidenMei_Singer(Character);
                    }
                }
            }
            else if (Character.GetName() == "RitaRossweisse")
            {
                if (Count % 4 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByRitaRossweisse_Mind(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                    if (HasSkills)
                    {
                        if (ProbabilityFunction(35))
                        {
                            TextResult += Defender.EffectedByRitaRossweisse_Clear(Character);
                        }
                    }
                }
            }
            else if (Character.GetName() == "TheresaApocalypse")
            {
                if (Count % 3 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByTheresaApocalypse_Kick(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                }
            }
            else if (Character.GetName() == "CorvusCorax")
            {
                if (Count % 3 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByCorvusCorax_Island(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                }
            }
            else if (Character.GetName() == "Bronya")
            {
                if (Count % 3 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByBronya_Mortar(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                }
            }
            else if (Character.GetName() == "KallenAndSakura")
            {
                if (Count % 2 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByKallen(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                }
            }
            else if (Character.GetName() == "SeeleVollerei")
            {
                TextResult += Defender.GetAttacked(Character);
            }
            else if (Character.GetName() == "FuHua")
            {
                if (Count % 3 == 0)
                {
                    if (HasSkills)
                    {
                        TextResult += Defender.EffectedByFuHua(Character);
                    }
                }
                else
                {
                    TextResult += Defender.GetAttacked(Character);
                }
            }
            else if (Character.GetName() == "Himeko")
            {
                TextResult += Defender.GetAttacked(Character);
            }
        }