def _check(self, tup_tree, tree_name, expected): tree = make_tree(tup_tree) v = alpha_beta_search(tree, 10, tree_eval, tree_get_next_move, is_leaf) try: self.assertEqual(v, expected) except Exception as e: self.log.error("%s:\n%s", tree_name, tree_as_string(tree)) self.log.error("BEST MOVE: %s", format(v)) self.log.error("EXPECTED: %s", format(expected)) raise e
def test_search_3(self): actual_score = alpha_beta_search(self.WINNING_BOARD, 2, focused_evaluate) expected_score = 1 self.assertEqual(actual_score, expected_score)
def test_search_6(self): actual_score = alpha_beta_search(self.BARELY_WINNING_BOARD, 2, better_evaluate) expected_score = 3 self.assertEqual(actual_score, expected_score)
elif args.mode == 'my_player_vs_basic': run_game(my_player, basic_player) elif args.mode == 'debug_evaluate': '''board_tuples = ((0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0), (0, 2, 2, 1, 1, 2, 0), (0, 2, 1, 2, 1, 2, 0), (2, 1, 2, 1, 1, 1, 0), )''' board_tuples = ( (0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0), (2, 0, 0, 0, 0, 0, 0), (1, 2, 0, 0, 0, 0, 0), (1, 1, 0, 0, 0, 0, 0), (1, 1, 2, 2, 2, 0, 0), ) test_board_1 = ConnectFourBoard(board_array=board_tuples, current_player=1) test_board_2 = ConnectFourBoard(board_array=board_tuples, current_player=2) actual_score = alpha_beta_search(test_board_1, 8, better_evaluate) print actual_score # better evaluate from player 1 #print("{} => {}".format(test_board_1, better_evaluate(test_board_1))) # better evaluate from player 2 #print("{} => {}".format(test_board_2, better_evaluate(test_board_2)))