Esempio n. 1
0
 public void NimsMctsV2(int token, EGameFinalStatus status)
 {
     Action<string> print = s => Console.WriteLine(s);
     var firstPlayer = new NimPlayer(1);
     var nims = new NimState(token) as IGameState;
     while (nims.GetMoves().Any())
     {
         print(nims.ToString());
         IMove move = SingleThreaded.ComputeSingleThreadedUCT(nims, 1000, true, print, 0.7F);
         print(move.Name);
         nims = move.DoMove();
     }
     print(nims.GetResult(firstPlayer).ToString());
     Assert.IsTrue(nims.GetResult(firstPlayer) == status);
 }
Esempio n. 2
0
        public void NimsMctsV2(int token, EGameFinalStatus status)
        {
            Action <string> print       = s => Console.WriteLine(s);
            var             firstPlayer = new NimPlayer(1);
            var             nims        = new NimState(token) as IGameState;

            while (nims.GetMoves().Any())
            {
                print(nims.ToString());
                IMove move = SingleThreaded.ComputeSingleThreadedUCT(nims, 1000, true, print, 0.7F);
                print(move.Name);
                nims = move.DoMove();
            }
            print(nims.GetResult(firstPlayer).ToString());
            Assert.IsTrue(nims.GetResult(firstPlayer) == status);
        }