Exemplo n.º 1
0
        static void Main(string[] args)
        {
            if (args.Length <= 1)
            {
                Console.WriteLine("Please provide at least two players as console arguments.");
                Console.WriteLine("Player can either be human or bot dll.");
                Console.WriteLine("Example with 4 Players: dotnet run -- BasicBot.dll human human BasicBot.dll");
                return;
            }

            var multiGameListener = new MultiGameListener();
            // multiGameListener.AddGameListener(new ConsoleGameOutput());
            var gameMaster   = new GameMaster(multiGameListener);
            int playerNumber = 0;

            foreach (var arg in args)
            {
                ++playerNumber;
                Object player;
                if (arg.ToLower() == "human")
                {
                    player = new ConsolePlayerController();
                }
                else
                {
                    player = LoadBotFromAssembly(Path.GetFullPath(arg));
                }
                multiGameListener.AddGameListener((IGameListener)player);
                gameMaster.AddPlayer(new Player("Player", (IPlayerController)player));
                Console.WriteLine(player.GetType().Name + " is Player " + playerNumber);
            }
            int[]     playerStats = new int[playerNumber + 1];
            const int numGames    = 100000;

            for (var i = 0; i < numGames; ++i)
            {
                var loosingPlayer = gameMaster.StartGame();
                if (loosingPlayer >= 0)
                {
                    playerStats[loosingPlayer] += 1;
                }
                else
                {
                    playerStats[playerNumber] += 1;
                }
                var progress = (i / (double)numGames) * 100;
                if (progress % 10 == 0)
                {
                    Console.WriteLine(progress + "%");
                }
            }
            Console.WriteLine("Ties: {0}", (playerStats[playerNumber] / (double)numGames) * 100);
            for (int i = 0; i < playerStats.Length - 1; i++)
            {
                Console.WriteLine("Player {0} loose rate of {1}%", i + 1, (playerStats[i] / (double)numGames) * 100);
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            MasterControlProgram MCP = new MasterControlProgram();
            ConsoleMenuController menuController = new ConsoleMenuController();
            ConsolePlayerController playerController = new ConsolePlayerController();
            ConsoleView view = new ConsoleView();

            //Console.SetWindowSize(236, 80);
            Console.SetWindowSize(60, 60);
            MasterControlProgram.SetController(menuController);
            MCP.view = view;
            MCP.Run();
            return;
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            MasterControlProgram    MCP              = new MasterControlProgram();
            ConsoleMenuController   menuController   = new ConsoleMenuController();
            ConsolePlayerController playerController = new ConsolePlayerController();
            ConsoleView             view             = new ConsoleView();

            //Console.SetWindowSize(236, 80);
            Console.SetWindowSize(60, 60);
            MasterControlProgram.SetController(menuController);
            MCP.view = view;
            MCP.Run();
            return;
        }