Examples of AIPlayer


Examples of csa.jportal.ai.AIPlayer

      
        Weighting weightingUsed = Weighting.DEFAULT;
        if (mPlayer instanceof MatchComputerPlayer)
        {
            MatchComputerPlayer cp = (MatchComputerPlayer) mPlayer;
            AIPlayer aip = cp.getAIPlayer();
            if (!aip.isScriptedAI())
            {
                EAIConfigurationData eaiConfig = aip.getEAIConfig();
                if (eaiConfig != null)
                {
                    String wName = eaiConfig.getActiveWeightingCollection();
                    weightingUsed = Weighting.buildWeighting(wName);
                }
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

       
       
            String aiName = "HintNAI";
            NamedAIDataPool mNamedAIDataPool = new NamedAIDataPool();
            NamedAIData namedAIData = mNamedAIDataPool.get(aiName);
            AIPlayer cplayer = new AIPlayer(namedAIData.getAIUsed());
            cplayer.mNamedAI = namedAIData;
            cplayer.setSelectedDeckName("NoDeck");
            CardDeck.mDummyLoadingActive = true;
            mHintPlayer = new MatchComputerPlayer(cplayer);
            CardDeck.mDummyLoadingActive = false;
        }
        return mHintAI;
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

            Weighting weightingUsed = Weighting.DEFAULT;

            if (mPlayer instanceof MatchComputerPlayer)
            {
                MatchComputerPlayer cp = (MatchComputerPlayer) mPlayer;
                AIPlayer aip = cp.getAIPlayer();
                if (!aip.isScriptedAI())
                {
                    EAIConfigurationData eaiConfig = aip.getEAIConfig();
                    if (eaiConfig != null)
                    {
                        String wName = eaiConfig.getActiveWeightingCollection();
                        weightingUsed = Weighting.buildWeighting(wName);
                    }
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

    {
        initEnvironment();
        E.D.addLog("EAI: Enter attacker declaration",E.debugLevel);

        int round = E.match.getRound();
        AIPlayer aiPlayer = E.player.getAIPlayer();
        String baseKey=E.match.getPlayerBaseKey(E.player);
        String dattackerKey="DECLARE_ATTACKER_"+baseKey;
        //#import "scripts\Allround\AIHelperScript.java"
        E.D.addLog("EAI:script include Loaded",E.debugLevel);

        int state = aiPlayer.getIntData(dattackerKey+"STATE");
        CardList attackerList = (CardList) aiPlayer.getObjectData(dattackerKey+"ATTACKER_LIST");
        CardList tapperList = (CardList) aiPlayer.getObjectData(dattackerKey+"TAPPER_LIST");

        // init declaration
        E.D.addLog("EAI: state check init, State: " + state ,E.debugLevel);

        if (state == 0)
        {
            E.D.addLog("EAI: state 0 enter",E.debugLevel);
            state++;
            aiPlayer.setIntData(dattackerKey+"STATE", state);
            aiPlayer.setIntData(dattackerKey, 0); // loop
            int intelligence  = aiPlayer.mStrategie.getIntelligence();

            CardList myCreatures = E.match.getBattlefield(E.player);
            myCreatures = myCreatures.getSubListTapState(false);
            myCreatures = myCreatures.getSubListBooleanState(Card.CARD_SICKNESS, false);

            tapperList = AIHelper.onlyWithHint(myCreatures, "CAN_BE_TAPPED_INSTEAD_ATTACK");
            tapperList = AIHelper.adjustListWithCardNeeds(tapperList, true, "ATTACK_TAP" , E.match, E.player);
            aiPlayer.setObjectData(dattackerKey+"TAPPER_LIST", tapperList);

            //to ignore! CAN_BE_TAPPED_INSTEAD_ATTACK
            myCreatures = E.match.getBattlefield(E.player);
            myCreatures = myCreatures.getSubListBooleanState(Card.CARD_SICKNESS, false);
            myCreatures = AIHelper.removeWithHint(myCreatures, "CAN_BE_TAPPED_INSTEAD_ATTACK");
            myCreatures = AIHelper.removeWithHint(myCreatures, "CAN_BE_TAPPED_INSTEAD_BLOCK");

            E.D.addLog("EAI: myCreatures: " +myCreatures,E.debugLevel);
            if (AIHelper.isBufActive(myCreatures))
            {
                // allways attack if creatures are buffed
                E.D.addLog("EAI: Buf active - all attacking!",E.debugLevel);
                attackerList = myCreatures;
            }
            else
            {
                attackerList = AIHelper.getAttackerList(myCreatures, E.player, E.match);
            }

            if (intelligence > 6)
            {
                attackerList = AIHelper.adjustShouldAttack(attackerList, myCreatures);
            }

            aiPlayer.setObjectData(dattackerKey+"ATTACKER_LIST", attackerList);

            E.D.addLog("EAI: AttackerList evaluated: "+attackerList,E.debugLevel);
            // init
           E.D.addLog("EAI: state 0 ends",E.debugLevel);
        }

        // can someone be tapped instead?
        if (state == 1)
        {
            E.D.addLog("EAI: state 1 enter",E.debugLevel);
            int loop = aiPlayer.getIntData(dattackerKey);

            // ensure during some past actions tapper list is still valid
            // Diaochan, Artful Beauty might have something destroyed

            for (int i=loop; i< tapperList.size(); i++)
            {
                Card card = tapperList.getCard(loop);
                if (!E.match.getBattlefield(E.player).isInList(card))
                  tapperList.removeCard(card);
            }


            while ((loop < tapperList.size()) && (state == 1))
            {
                loop = aiPlayer.getIntData(dattackerKey);
                boolean tappingDone = false;
                if (tapperList.size() != 0)
                {
                    E.D.addLog("EAI: tapper found enter: " +tapperList.size(),E.debugLevel);
                    E.D.addLog("EAI: tapper loop: " + loop,E.debugLevel);


                    Card card = tapperList.getCard(loop);
                    E.D.addLog("EAI: current tapper: " + card,E.debugLevel);

                    boolean sense = AIHelper.tapHintMakesSenseNow(E.player, E.match, card);

                    if ((!card.isTapped()) && (sense))
                    {
                        E.D.addLog("EAI: tapping in attacking possible: "+card,E.debugLevel);
                        boolean doTap=true;
                        //-> only when attacking occurs!
                        if (AIHelper.hasHint(card, "PLAYER_CREATURE_NEED"))
                        {
                            doTap = attackerList.size()>0;
                        }
                        if (AIHelper.hasHint(card, "OPPONENT_CREATURE_NEED"))
                        {
                            CardList oCreatures = E.match.getBattlefield(E.opponent);
                            oCreatures = oCreatures.getSubListTapState(false);
                            doTap = oCreatures.size()>0;
                            if (doTap)
                            {
                                state=-1; // rest attack list!
                                aiPlayer.setIntData(dattackerKey+"STATE", state);
                            }
                        }
                        if (AIHelper.hasHint(card, "OPPONENT_TAPPED_CREATURE_NEED"))
                        {
                            CardList oCreatures = E.match.getBattlefield(E.opponent);
                            oCreatures = oCreatures.getSubListTapState(true);
                            doTap = oCreatures.size()>0;
                            if (doTap)
                            {
                                state=-1; // rest attack list!
                                aiPlayer.setIntData(dattackerKey+"STATE", state);
                            }
                        }

                        if (doTap)
                        {
                            E.D.addLog("EAI: tapping!: "+card,E.debugLevel);
                            E.match.playAbility(E.player, card);
                            tappingDone = true;
                        }
                        else
                        {
                            E.D.addLog("EAI: not tapping!: "+card,E.debugLevel);
                        }
                    }
                }
                loop++;
                if (loop >= tapperList.size())
                {
                    loop = 0;
                    aiPlayer.setIntData(dattackerKey, 0);
                    state++;
                    aiPlayer.setIntData(dattackerKey+"STATE", state);
                    if ((tapperList.size() > 0) && (tappingDone))
                    {
                        E.D.addLog("EAI: Todo one tap - than come back to attack " + loop,E.debugLevel);
                        return false;
                    }
                }
                if (loop != 0)
                {
                    E.D.addLog("EAI: Todo one tap - than come back to tap more " + loop,E.debugLevel);
                    aiPlayer.setIntData(dattackerKey, loop);
                    if (tappingDone)
                    {
                        E.D.addLog("EAI: Tapping was done! " ,E.debugLevel);
                        return false;
                    }
                }
            }

            E.D.addLog("EAI: state 1 ends (state = "+state+")",E.debugLevel);
            state = 2;
            aiPlayer.setIntData(dattackerKey+"STATE", state);
        }

        // attackin init
        if (state == 2)
        {
        E.D.addLog("EAI: state 2 enter",E.debugLevel);
            state++;
            aiPlayer.setIntData(dattackerKey+"STATE", state);
            aiPlayer.setIntData(dattackerKey, 0);
        E.D.addLog("EAI: state 2 ends",E.debugLevel);
        }

        // attacker declaration
        if (state == 3)
        {
            E.D.addLog("EAI: state 3 enter",E.debugLevel);
            int loop = aiPlayer.getIntData(dattackerKey);
            if (loop != attackerList.size())
            {
                E.D.addLog("EAI: entering loop, counter = "+loop+" from "+attackerList.size() ,E.debugLevel);

                Card card = attackerList.getCard(loop);
                E.D.addLog("EAI: attack with "+card,E.debugLevel);
                E.match.declareAttacker(E.player, card);

                loop++;
                aiPlayer.setIntData(dattackerKey, loop);
                return false;
            }

            state++;
            aiPlayer.setIntData(dattackerKey+"STATE", state);
            E.D.addLog("EAI: End attacker! declaration",E.debugLevel);
            E.D.addLog("EAI: state 3 ends",E.debugLevel);
        }

        E.D.addLog("EAI: cleanup started",E.debugLevel);
        aiPlayer.removeIntData(dattackerKey+"STATE");
        aiPlayer.removeObjectData(dattackerKey+"ATTACKER_LIST");
        aiPlayer.removeObjectData(dattackerKey+"TAPPER_LIST");
        aiPlayer.removeIntData(dattackerKey);
        E.D.addLog("EAI: cleanup done",E.debugLevel);

        E.D.addLog("EAI: End attacker declaration",E.debugLevel);
        return true;
    }
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

        // bRet indicates Phase done - if not set to true at some stage
        // computer will sit in an endless loop and
        // repeatedly load and runs Script!
        int debugLevel = 3;
        E.D.addLog("EAI: Computer entered declare blocker script.",debugLevel);
        AIPlayer aiPlayer = E.player.getAIPlayer();
        String baseKey=E.match.getPlayerBaseKey(E.player);
        int round = E.match.getRound();
        String dblockerKey="DECLARE_BLOCKER_"+baseKey;
        //#import "scripts\Allround\AIHelperScript.java"


        CardList blockerList = (CardList) aiPlayer.getObjectData(dblockerKey+"BLOCKER_LIST");
        CardList tapperList = (CardList) aiPlayer.getObjectData(dblockerKey+"TAPPER_LIST");

        if (tapperList == null)
        {
          // first time
            CardList myCreatures = E.match.getBattlefield(E.player);
            myCreatures = myCreatures.getSubListTapState(false);

            tapperList = AIHelper.onlyWithHint(myCreatures, "CAN_BE_TAPPED_INSTEAD_BLOCK");
            tapperList = AIHelper.adjustListWithCardNeeds(tapperList, true, "ATTACK_TAP" , E.match, E.player); // attack on purpose - that is the key, dont need an extra for blocking
            aiPlayer.setObjectData(dblockerKey+"TAPPER_LIST", tapperList);

            myCreatures = E.match.getBattlefield(E.player);
            myCreatures = myCreatures.getSubListTapState(false);
            myCreatures = AIHelper.removeWithHint(myCreatures, "CAN_BE_TAPPED_INSTEAD_BLOCK");
            aiPlayer.setObjectData(dblockerKey+"BLOCKER_LIST", myCreatures);
            blockerList = myCreatures;
        }

        int state = aiPlayer.getIntData(dblockerKey+"STATE");
        CombatFormation blockerFormation;
        if (state == 0)
        {
            int loop = aiPlayer.getIntData(dblockerKey+"TLOOP");

            E.D.addLog("EAI: state 0 enter, tapper size = "+ tapperList.size()+", loop = "+ loop,debugLevel);
            while ((loop < tapperList.size()) && (state == 0))
            {
              loop = aiPlayer.getIntData(dblockerKey+"TLOOP");
              boolean tappingDone = false;
              if (tapperList.size() != 0)
              {
                  E.D.addLog("EAI: tapper found enter: " +tapperList.size(),debugLevel);
                  E.D.addLog("EAI: tapper loop: " + loop,debugLevel);


                  Card card = tapperList.getCard(loop);
                  E.D.addLog("EAI: current tapper: " + card,debugLevel);

                  boolean sense = AIHelper.tapHintMakesSenseNow(E.player, E.match, card);

                  if ((!card.isTapped()) && (sense))
                  {
                      E.D.addLog("EAI: tapping in blocking possible: "+card,debugLevel);
                      boolean doTap=true;

                      if (AIHelper.hasHint(card, "OPPONENT_ATTACKER_NEED"))
                      {
                          doTap = E.match.getAttackerList().size()>0;
                      }
                      if (doTap)
                      {
                          E.D.addLog("EAI: tapping!: "+card,debugLevel);
                          E.match.playAbility(E.player, card);
                          tappingDone = true;
                      }
                      else
                      {
                          E.D.addLog("EAI: not tapping!: "+card,debugLevel);
                      }
                  }
              }
              loop++;
              if (loop >= tapperList.size())
              {
                  loop = 0;
                  aiPlayer.setIntData(dblockerKey+"TLOOP", 0);
                  state++;
                  aiPlayer.setIntData(dblockerKey+"STATE", state);
                  if ((tapperList.size() > 0) && (tappingDone))
                  {
                      E.D.addLog("EAI: Todo one tap - than come back to block " + loop,debugLevel);
                      return false;
                  }
              }
              if (loop != 0)
              {
                  E.D.addLog("EAI: Todo one tap - than come back to tap more " + loop,debugLevel);
                  aiPlayer.setIntData(dblockerKey+"TLOOP", loop);
                  if (tappingDone)
                  {
                        E.D.addLog("EAI: Tapping was done! " ,debugLevel);
                        return false;
                  }
              }

            }

            E.D.addLog("EAI: state 0 ends (state = "+state+")",debugLevel);
            state = 1;
            aiPlayer.setIntData(dblockerKey+"STATE", state);
        }

        // init declaration
        if (state == 1)
        {
            state++;
            aiPlayer.setIntData(dblockerKey+"STATE", state);

                int mood  = aiPlayer.mStrategie.getMood();
                int intelligence  = aiPlayer.mStrategie.getIntelligence();
                int majorMood = mood/3;
                if (majorMood>2) majorMood = 2;
                int minorMood = mood - (majorMood*3);

                if (majorMood==0)
                {
                    // defense
                    blockerFormation = AIHelper.getDefensiveBlocker(
                        blockerList,
                        E.match.getAttackerList(),
                        E.match.getLand(E.player),
                        E.match.getLand(E.opponent) , minorMood, intelligence);
                }
                else if (majorMood==1)
                {
                    // equal
                    blockerFormation = AIHelper.getMediumBlocker(
                        blockerList,
                        E.match.getAttackerList(),
                        E.match.getLand(E.player),
                        E.match.getLand(E.opponent) , minorMood, intelligence);
                }
                else // 2
                {
                    // offense
                    blockerFormation = AIHelper.getAgressiveBlocker(
                        blockerList,
                        E.match.getAttackerList(),
                        E.match.getLand(E.player),
                        E.match.getLand(E.opponent) , minorMood, intelligence);
                }

            aiPlayer.setObjectData(dblockerKey+"BlockerFormation", blockerFormation);
            E.D.addLog("EAI: Block formation:  "+blockerFormation ,debugLevel);
        }

        // blocker declaration
        if (state == 2)
        {
            blockerFormation = (CombatFormation) aiPlayer.getObjectData(dblockerKey+"BlockerFormation");
            int loopAttacker = aiPlayer.getIntData(dblockerKey+"ATTACKER_LOOP");
            int loopBlocker = aiPlayer.getIntData(dblockerKey+"BLOCKER_LOOP");

            while (loopAttacker < blockerFormation.getFormation().size())
            {
                E.D.addLog("EAI: entering loop, A counter = "+loopAttacker+" from "+(blockerFormation.getFormation().size()+1) ,debugLevel);
                E.D.addLog("EAI: B counter = "+loopBlocker+" from "+(blockerFormation.getFormation().elementAt(loopAttacker).blocker.size()+1) ,debugLevel);

                SingleFight sFight = blockerFormation.getFormation().elementAt(loopAttacker);
                E.D.addLog("EAI: SingleFight: "+sFight ,debugLevel);
                CardList blockers = sFight.blocker;
                Card attacker = sFight.attacker;

                while (loopBlocker < blockers.size())
                {
                    Card blocker = blockers.getCard(loopBlocker);
                    if (sFight.isBlockerUsed(blocker))
                    {
                        E.D.addLog("EAI: Blocker used: "+blocker ,debugLevel);
                        String blockerKey="TMP_KEY_"+round+"_attacker_blocker"+blocker.getUniqueID();
                        // tell answer script what blocker to use
                        aiPlayer.setObjectData(blockerKey, attacker);
                        E.match.declareBlocker(E.player, blocker);

                        loopBlocker++;
                        if (loopBlocker == blockers.size())
                        {
                            E.D.addLog("EAI: Going to next attacker..." ,debugLevel);
                            loopAttacker++;
                            loopBlocker=0;
                        }

                        aiPlayer.setIntData(dblockerKey+"ATTACKER_LOOP", loopAttacker);
                        aiPlayer.setIntData(dblockerKey+"BLOCKER_LOOP", loopBlocker);
                        return false;
                    }
                    else
                    {
                        E.D.addLog("EAI: Blocker not used: "+blocker ,debugLevel);
                    }
                    loopBlocker++;
                }
                E.D.addLog("EAI: Going to next attacker...(2)" ,debugLevel);
                loopBlocker=0;
                loopAttacker++;
            }
            aiPlayer.setIntData(dblockerKey+"ATTACKER_LOOP", loopAttacker);
            aiPlayer.setIntData(dblockerKey+"BLOCKER_LOOP", loopBlocker);

            state++;
            aiPlayer.setIntData(dblockerKey+"STATE", state);
            E.D.addLog("EAI: End blocker! declaration",debugLevel);
        }

        if (state == 3)
        {

            aiPlayer.removeIntData(dblockerKey+"TLOOP");
            aiPlayer.removeIntData(dblockerKey+"ATTACKER_LOOP");
            aiPlayer.removeIntData(dblockerKey+"BLOCKER_LOOP");
            aiPlayer.removeIntData(dblockerKey+"STATE");
            aiPlayer.removeObjectData(dblockerKey+"BlockerFormation");
            aiPlayer.removeObjectData(dblockerKey+"BLOCKER_LIST");
            aiPlayer.removeObjectData(dblockerKey+"TAPPER_LIST");

            E.D.addLog("EAI: No Blockers left, I finish blocking!",debugLevel);
        }
        return true;
    }
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

            jTextField48.setText(player.getSelectedDeckName());
            jTextField49.setText(""+player.getSelectedDeck().size());
        }
        else
        {
            AIPlayer cplayer = ((MatchComputerPlayer)p).getAIPlayer();
            jTextField47.setText(cplayer.mNamedAI.getNamedName());
            jTextField52.setText("computer");
            jTextField50.setText(cplayer.mNamedAI.mName);
            jTextField53.setText(cplayer.mNamedAI.getAIStrategieSetting());
            jTextField51.setText(cplayer.getAIName());
            jTextField48.setText(cplayer.getSelectedDeckName());
            jTextField49.setText(""+((MatchComputerPlayer)p).getDeck().size());
        }
        jTextFieldScoring0.setText(""+Weighting.DEFAULT.getScoreArrayString(0));
        jTextFieldScoring1.setText(""+Weighting.DEFAULT.getScoreArrayString(1));


        AIPlayer cplayer = ((MatchComputerPlayer)match.getPlayer(1)).getAIPlayer();
        jTextField60.setText(cplayer.mNamedAI.getNamedName());
        jTextField56.setText("computer");
        jTextField59.setText(cplayer.mNamedAI.mName);
        jTextField55.setText(cplayer.mNamedAI.getAIStrategieSetting());
        jTextField58.setText(cplayer.getAIName());
        jTextField57.setText(cplayer.getSelectedDeckName());
        jTextField54.setText(""+((MatchComputerPlayer)match.getPlayer(1)).getDeck().size());
    }
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

    public void addPlayer(String namedAIName)
    {
        if (namedAIName.length() == 0) return;

        NamedAIData namedAIData = mNamedAIDataPool.get(namedAIName);
        AIPlayer cplayer = new AIPlayer(namedAIData.getAIUsed());
        cplayer.mNamedAI = namedAIData;
        String stratName = namedAIData.getAIStrategieSetting();
        String bufstratName = namedAIData.getAIBoosterStrategieSetting();

        AIStrategie st = mAIStrategiePool.get(stratName);
        AIBoosterStrategie bst = mAIBoosterStrategiePool.get(bufstratName);
        if (st != null) cplayer.mStrategie = st;
        if (bst != null) cplayer.mBoosterStrategie = bst;
        cplayer.setBoosterMode(true);
       
        cplayer.setSelectedDeckName("Booster");
        MatchComputerPlayer player = new MatchComputerPlayer(cplayer);
        BoosterPlayer p = new BoosterPlayer();
        ComputerQuickPanel panel = new ComputerQuickPanel();
        panel.setParent(this);
        panel.setNumber(mPlayers.size());
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

    public static CardList getAttackerList(CardList myCreatures, MatchPlayable p, Match match)
    {
        Logable D = Configuration.getConfiguration().getDebugEntity();
        int debugLevel = 3;
        MatchComputerPlayer player = (MatchComputerPlayer)p;
        AIPlayer aiPlayer = player.getAIPlayer();
        CardList attackerList = new CardList();
        // a "cache"...
        // this check ist done because we want to know IF we are attacking this turn
        // only if we will attack buffing of creatures makes sense
        attackerList = (CardList) aiPlayer.getObjectData(match.getPlayerBaseKey(player, false)+"ATTACKER_CHECK");
        if (attackerList == null)
        {
            int mood  = aiPlayer.mStrategie.getMood();
            D.addLog("AI: Mood: "+ mood,debugLevel);
            int intelligence  = aiPlayer.mStrategie.getIntelligence();
            D.addLog("AI: int: "+ intelligence,debugLevel);
            int majorMood = mood/3;
            if (majorMood>2) majorMood = 2;
            int minorMood = mood - (majorMood*3);

            D.addLog("AI: minorMood: "+ minorMood,debugLevel);
            D.addLog("AI: majorMood: "+ majorMood,debugLevel);
            if (majorMood==0)
            {
                // defense
                attackerList = AIHelper.getDefensiveAttacker(
                            myCreatures,
                            match.getBattlefieldOpponent(player).getSubListByType("Creature"),
                            match.getLand(player),
                            match.getLandOpponent(player), minorMood, intelligence);
            }
            else if (majorMood==1)
            {
                // equal
                attackerList = AIHelper.getMediumAttacker(
                            myCreatures,
                            match.getBattlefieldOpponent(player).getSubListByType("Creature"),
                            match.getLand(player),
                            match.getLandOpponent(player), minorMood, intelligence);
            }
            else if (majorMood==2)
            {
                // offense
                attackerList = AIHelper.getAgressiveAttacker(
                            myCreatures,
                            match.getBattlefieldOpponent(player).getSubListByType("Creature"),
                            match.getLand(player),
                            match.getLandOpponent(player), minorMood, intelligence);
            }

            aiPlayer.setObjectData(match.getPlayerBaseKey(player, false)+"ATTACKER_CHECK", attackerList);
        }
        return attackerList;
    }
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

    }
    // towords a small library a AI gets more and more aggressive!
    public static void checkMoodChange(Match match, MatchPlayable p)
    {
        MatchComputerPlayer player = (MatchComputerPlayer)p;
        AIPlayer aiPlayer = player.getAIPlayer();

        int lSize = match.getLibrary(player).size();
        if (lSize > 20) return;

        int newMood = 10 - (lSize-10);
View Full Code Here

Examples of csa.jportal.ai.AIPlayer

    {
        Logable D = Configuration.getConfiguration().getDebugEntity();
        int debugLevel = 3;
        MatchComputerPlayer player = (MatchComputerPlayer)pl;
        MatchPlayable opponent = match.getOpponent(pl);
        AIPlayer aiPlayer = player.getAIPlayer();

        D.addLog("AI:selectGoodCard() list: "+list ,debugLevel);
        Card result = null;
        if (list.size() == 0) return null;
        Scoring scorting = new Scoring();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.