public void ConnectFour_SimpleAI_Test()
        {
            connect4 = new ConnectFour.ConnectFour(true);
            TurnResult result;

            for (int i = 0; i < 5; i++)
            {
                result = connect4.PlayTurn(i % 2);
                Assert.IsTrue(result == TurnResult.Next);
            }

            var column = ((SimpleAI)connect4.CurrentPlayer).ChooseColumn(connect4);

            Assert.IsTrue(column == 0);
            result = connect4.PlayTurn(column);
            Assert.IsTrue(result == TurnResult.Next);

            for (int i = 0; i < 5; i++)
            {
                result = connect4.PlayTurn(i % 2 + 2);
                Assert.IsTrue(result == TurnResult.Next);
            }

            column = ((SimpleAI)connect4.CurrentPlayer).ChooseColumn(connect4);
            Assert.IsTrue(column == 2);
        }
        public void ConnectFour_SimpleAI_Diagonal_Test()
        {
            connect4 = new ConnectFour.ConnectFour(true);
            TurnResult result;
            var        columns = new int[] { 0, 1, 1, 2, 2, 3, 3, 0, 2, 3, 0 };

            for (int i = 0; i < columns.Length; i++)
            {
                result = connect4.PlayTurn(columns[i]);
                Assert.IsTrue(result == TurnResult.Next);
            }

            var column = ((SimpleAI)connect4.CurrentPlayer).ChooseColumn(connect4);

            Assert.IsTrue(column == 3);
            result = connect4.PlayTurn(column);
            Assert.IsTrue(result == TurnResult.Next);
        }
 public void TestInitialize()
 {
     connect4 = new ConnectFour.ConnectFour(false);
 }
Beispiel #4
0
 public MCTS(ConnectFour board, long timeallotted)
 {
     this.width        = board.width;
     this.timeallotted = timeallotted;
     root = new Node(null, board);
 }