예제 #1
0
 void _GetAllAttackingActions()
 {
     if (turn == BoardBehaviourScript.Turn.AITurn)
     {
         /*
          * foreach (CardBehaviourScript AICard in AITableCards)
          * {
          *  if (AICard.canPlay)
          *  {
          *      foreach (CardBehaviourScript PlayerCard in PlayerTableCards)
          *      {
          *          //AICard Attack PlayerCard
          *          AIGameState State = new AIGameState(PlayerTableCards, AIHandCards, AITableCards, PlayerHero, AIHero, maxMana, PlayerMana, AIMana, turn);
          *          State.CardAttackCard(AICard,PlayerCard);
          *          State.Calculate_State_Score();
          *          ChildsStatus.Add(State);
          *          //Save State
          *      }
          *  }
          * }
          */
         //Generate All Possible Placing
         List <List <CardBehaviourScript> > temp = ProduceAllAttackCombinations(AITableCards);
         foreach (var PlayerCard in PlayerTableCards)
         {
             for (int i = 0; i < temp.Count; i++)
             {
                 AIGameState State = new AIGameState(PlayerTableCards, AIHandCards, AITableCards, PlayerHero, AIHero, maxMana, PlayerMana, AIMana, turn, this);
                 for (int j = 0; j < temp[i].Count; j++)
                 {
                     if (temp[i][j].canPlay)
                     {
                         if (temp[i][j].cardtype == CardBehaviourScript.CardType.Monster)
                         {
                             State.CardAttackCard(temp[i][j], PlayerCard);
                         }
                         else if (temp[i][j].cardtype == CardBehaviourScript.CardType.Magic)
                         {
                             if (temp[i][j].cardeffect == CardBehaviourScript.CardEffect.ToSpecific)
                             {
                                 State.CardMagicCard(temp[i][j], PlayerCard);
                             }
                         }
                     }
                 }
                 State.Calculate_State_Score();
                 ChildsStatus.Add(State);
             }
         }
     }
 }