示例#1
0
文件: Ai.cs 项目: wangyuzz/silverfish
        private void selectBestTracking()
        {
            int trackingchoice = 0;
            int trackingstatus = 0;
            //which choice-card to draw?
            int choice = Discovery.Instance.getChoice(mainTurnSimulator.bestboard);

            if (choice >= 1)
            {
                trackingchoice = choice;
                //Helpfunctions.Instance.ErrorLog("discovering using user choice..." + trackingchoice);
                trackingstatus = 3;
            }

            if (trackingchoice == 0 && mainTurnSimulator.bestboard.selectedChoice >= 1)
            {
                trackingchoice = mainTurnSimulator.bestboard.selectedChoice;
                //Helpfunctions.Instance.ErrorLog("discovering using optimal choice..." + trackingchoice);
                trackingstatus = 0;
            }

            //TODO: select card based on mana + usefulness?

            if (trackingchoice == 0)
            {
                //search other non-optimal boards for a choice:
                for (int i = 0; i < 100; i++)
                {
                    Playfield tc = mainTurnSimulator.getBoard(i);
                    if (trackingchoice == 0 && tc.selectedChoice >= 1)
                    {
                        trackingchoice = tc.selectedChoice;
                    }
                }
                if (trackingchoice >= 1)
                {
                    trackingstatus = 1;                     //use tracking of other board
                }
                //if (trackingchoice >= 1) Helpfunctions.Instance.ErrorLog("discovering using suboptimal choice..." + trackingchoice);
            }

            if (trackingchoice == 0)
            {
                //random card
                Random randovar = new Random();
                trackingchoice = randovar.Next(1, Handmanager.Instance.getNumberChoices() + 1);
                //if (trackingchoice >= 1) Helpfunctions.Instance.ErrorLog("discovering using random choice..." + trackingchoice);
                trackingstatus = 2;//use random card
            }

            this.bestTracking       = trackingchoice;
            this.bestTrackingStatus = trackingstatus;
        }
示例#2
0
        public void selectBestTracking()
        {
            int trackingchoice = 0;
            int trackingstatus = 0;

            //which choice-card to draw?
            int choice = Discovery.Instance.getChoice(mainTurnSimulator.bestboard);

            if (choice >= 1)
            {
                trackingchoice = choice;
                //Helpfunctions.Instance.ErrorLog("discovering using user choice..." + trackingchoice);
                trackingstatus = 3;
            }

            if (trackingchoice == 0 && mainTurnSimulator.bestboard.selectedChoice >= 1)
            {
                trackingchoice = mainTurnSimulator.bestboard.selectedChoice;
                //Helpfunctions.Instance.ErrorLog("discovering using optimal choice..." + trackingchoice);
                trackingstatus = 0;
            }

            //TODO: select card based on mana + usefulness?
            if (trackingchoice == 0)
            {
                //search other non-optimal boards for a choice:
                for (int i = 0; i < 100; i++)
                {
                    Playfield tc = mainTurnSimulator.getBoard(i);
                    if (trackingchoice == 0 && tc.selectedChoice >= 1)
                    {
                        trackingchoice = tc.selectedChoice;
                    }
                }
                if (trackingchoice >= 1)
                {
                    trackingstatus = 1;                     //use tracking of other board
                }
                //if (trackingchoice >= 1) Helpfunctions.Instance.ErrorLog("discovering using suboptimal choice..." + trackingchoice);
            }

            if (trackingchoice == 0)
            {
                //random card
                Random randovar = new Random();
                trackingchoice = randovar.Next(1, Handmanager.Instance.getNumberChoices() + 1);
                //if (trackingchoice >= 1) Helpfunctions.Instance.ErrorLog("discovering using random choice..." + trackingchoice);
                trackingstatus = 2;//use random card
            }


            ////adapt
            //CardDB.Card c = CardDB.Instance.getCardDataFromID(Hrtprozis.Instance.LastPlayedCard);
            //Helpfunctions.Instance.ErrorLog("c.name..." + c.name);
            //Helpfunctions.Instance.logg("c.name..." + c.name);
            //if (PenalityManager.Instance.AdaptDatabase.ContainsKey(c.name) || c.name == CardDB.cardName.viciousfledgling || Hrtprozis.Instance.LastPlayedCard == CardDB.cardIDEnum.UNG_075)
            //{
            //    trackingchoice = mainTurnSimulator.bestboard.selectedChoice;
            //    trackingstatus = 4;
            //    Helpfunctions.Instance.ErrorLog("trackingchoice..." + trackingchoice);
            //    Helpfunctions.Instance.logg("trackingchoice..." + trackingchoice);
            //}


            this.bestTracking       = trackingchoice;
            this.bestTrackingStatus = trackingstatus;
        }