예제 #1
0
 def test_heuristic(self):
   test_board = ConnectFourBoard(AbstractTranspositionTable())
   self.assertEqual(69, test_board.simple_scores[NegamarkBoard.X - 1])
   test_board.make_move(ConnectFourMove(3))
   self.assertEqual(76, test_board.simple_scores[NegamarkBoard.X - 1])
   self.assertEqual(62, test_board.simple_scores[NegamarkBoard.O - 1])
   self.assertEqual(-14, test_board.heuristic())
   test_board.make_move(ConnectFourMove(0))
   test_board.make_move(ConnectFourMove(3))
   test_board.make_move(ConnectFourMove(2))
   test_board.make_move(ConnectFourMove(3))
   test_board.make_move(ConnectFourMove(2))
   test_board.make_move(ConnectFourMove(3))
   self.assertTrue(test_board.heuristic() <= -1000)
예제 #2
0
  def test_unique_id(self):

    test_board = ConnectFourBoard(AbstractTranspositionTable())
    test_board.make_move(ConnectFourMove(0))
    self.assertEqual(0L ^ 11535137346879502140L, test_board.unique_id())