Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Setup gameConfig");

            //todo: rename to Main
            GameConfig gameConfig = new GameConfig
            {
                StartPlayer      = 1,
                Player1HeroClass = CardClass.MAGE,
                Player2HeroClass = CardClass.MAGE,
                FillDecks        = true,
                Logging          = false
            };

            Console.WriteLine("Setup POGameHandler");
            AbstractAgent player1     = new FaceHunter();
            AbstractAgent player2     = new FaceHunter();
            var           gameHandler = new POGameHandler(gameConfig, player1, player2, debug: true);

            Console.WriteLine("PlayGame");
            //gameHandler.PlayGame();
            gameHandler.PlayGames(10);
            GameStats gameStats = gameHandler.getGameStats();

            gameStats.printResults();


            Console.WriteLine("Test successful");
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Setup gameConfig");

            //todo: rename to Main
            GameConfig gameConfig = new GameConfig
            {
                StartPlayer = 1,

                Logging = true
            };

            gameConfig.Player1Name = "Sky";
            gameConfig.Player2Name = "Net";
            gameConfig.Player1Deck = Decks.RenoKazakusMage;                                                     //My Deck

            Dictionary <string, List <Card> > decksAvailable = new Dictionary <string, List <Card> >();         //set opponents decks.

            decksAvailable.Add("AggroPirateWarrior", Decks.AggroPirateWarrior);                                 //AggroPirateWarrior
            decksAvailable.Add("MidrangeJadeShaman", Decks.MidrangeJadeShaman);                                 //MidrangeJadeShaman
            decksAvailable.Add("RenoKazakusMage", Decks.RenoKazakusMage);                                       //RenoKazakusMage

            Console.WriteLine("Setup POGameHandler");
            AbstractAgent player1 = new src.Agent.MyAgent();
            AbstractAgent player2;

            Console.WriteLine("Start Games ");

            Console.WriteLine("=== MyAgent vs Random Agent=== ");
            player2 = new RandomAgent();                                                                                                                        //play all games against the Random Agent
            Helper.SimulateAllGames(gameConfig, player1, player2, decksAvailable);


            Console.WriteLine("=== MyAgent vs RandomLateEnd Agent ===");

            /* i achieve around  >80 % on one occasions against AggroPirate
             * with this agent and >90% in others, but it was not announced,
             * until 25 june that i had to compete against this as well,
             * so i didn' try to make something better and sophisticated, cause
             * no time.
             */

            //play all games against the RandomLateEnd Agent,
            player2 = new RandomAgentLateEnd();
            Helper.SimulateAllGames(gameConfig, player1, player2, decksAvailable);

            Console.WriteLine("=== My Agent vs FaceHunter Agent ===");                                       //play all games against the RandomLateEnd Agent
            player2 = new FaceHunter();
            Helper.SimulateAllGames(gameConfig, player1, player2, decksAvailable);

            Console.WriteLine("Test Ended");
            Console.ReadLine();
        }
Ejemplo n.º 3
0
        public static double Benchmark(double[] X)
        {
            // create random coef run 10 times and get the win rate
            SetCoef(X);

            //todo: rename to Main
            GameConfig gameConfig = new GameConfig
            {
                StartPlayer      = 1,
                Player1HeroClass = CardClass.MAGE,
                Player2HeroClass = CardClass.MAGE,
                FillDecks        = true,
                Logging          = false,
            };

            //Console.WriteLine("Setup POGameHandler");
            AbstractAgent player1     = new FaceHunter();
            AbstractAgent player2     = new UCTHunter();
            var           gameHandler = new POGameHandler(gameConfig, player1, player2, debug: false);

            //Console.WriteLine("PlayGame");
            gameHandler.PlayGames(20);
            GameStats gameStats = gameHandler.getGameStats();

            gameStats.printResults();
            //Console.WriteLine("Setup gameConfig");

            double winRate = (double)gameStats.PlayerB_Wins / (double)gameStats.GamesPlayed;
            var    str     = new StringBuilder();

            Log.Instance("coef.txt").Append(FullPrintCoef(winRate));

            double expectedMin = 1;

            return(Math.Pow(winRate - expectedMin, 2));
        }