コード例 #1
0
ファイル: Program.cs プロジェクト: killerbonzai/LudoFixed
        private void Play() // some minor changes
        {
            Stopwatch swatch = new Stopwatch();

            swatch.Start();

            List <ILudoPlayer> playerList = board.GetPlayerList;

            ILudoPlayer[] activePlayers = new ILudoPlayer[4];
            int[]         result        = new int[4];

            // show list in ui
            // pick what type should be play each

            activePlayers[0] = playerList[0];
            activePlayers[1] = playerList[1];
            activePlayers[2] = playerList[2];
            activePlayers[3] = playerList[3];
            board.setAllPlayers(activePlayers[0], activePlayers[1], activePlayers[2], activePlayers[3]);

            try
            {
                for (int i = 0; i < 1000; i++)
                {
                    board.play();
                    board.kill();

                    int[] points = board.getPoints();
                    result[0] += points[0];
                    result[1] += points[1];
                    result[2] += points[2];
                    result[3] += points[3];

                    board.reset();
                    board.setAllPlayers(activePlayers[0], activePlayers[1], activePlayers[2], activePlayers[3]);
                    //board.setPlayer(activePlayers[0], LudoBoard.YELLOW);
                    //board.setPlayer(activePlayers[1], LudoBoard.RED);
                    //board.setPlayer(activePlayers[2], LudoBoard.BLUE);
                    //board.setPlayer(activePlayers[3], LudoBoard.GREEN);
                    if ((i % 500) == 0)
                    {
                        Console.Write(".");
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            swatch.Stop();
            Console.WriteLine();
            Console.WriteLine("Simulation took " + swatch.ElapsedMilliseconds + " miliseconds");
            Console.WriteLine("RESULT:");
            Console.WriteLine("YELLOW Player: " + result[0] + " - (" + activePlayers[0].PlayerName() + ")");
            Console.WriteLine("RED    Player: " + result[1] + " - (" + activePlayers[1].PlayerName() + ")");
            Console.WriteLine("BLUE   Player: " + result[2] + " - (" + activePlayers[2].PlayerName() + ")");
            Console.WriteLine("GREEN  Player: " + result[3] + " - (" + activePlayers[3].PlayerName() + ")");

            Console.ReadKey();
        }