コード例 #1
0
ファイル: scoring_test.py プロジェクト: tattocau/betago
    def test_identify_territory(self):
        board = goboard.from_string(
            """
            ...b..w..
            ...b..w..
            bbbb..w..
            wwwww.www
            wwbbw..w.
            wb.bbwww.
            wbbbb....
            ..b.b....
            ..bbb....
        """
        )

        territory = scoring.evaluate_territory(board)

        self.assertEqual(8, territory.num_black_territory)
        self.assertEqual(6, territory.num_white_territory)
        self.assertEqual(20, territory.num_black_stones)
        self.assertEqual(20, territory.num_white_stones)
        self.assertEqual(27, territory.num_dame)

        self.assertIn((0, 0), territory.dame_points)
        self.assertNotIn((8, 0), territory.dame_points)
コード例 #2
0
ファイル: bot_vs_bot.py プロジェクト: BLiuBLiu/betago
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('black_bot_name')
    parser.add_argument('white_bot_name')
    parser.add_argument('--komi', '-k', type=float, default=5.5)
    args = parser.parse_args()

    black_bot = load_keras_bot(args.black_bot_name)
    white_bot = load_keras_bot(args.white_bot_name)

    print("Simulating %s vs %s..." % (args.black_bot_name, args.white_bot_name))
    board = goboard.GoBoard()
    simulate_game(board, black_bot=black_bot, white_bot=white_bot)
    print("Game over!")
    print(goboard.to_string(board))
    # Does not remove dead stones.
    print("\nScore (Chinese rules):")
    status = scoring.evaluate_territory(board)
    black_area = status.num_black_territory + status.num_black_stones
    white_area = status.num_white_territory + status.num_white_stones
    white_score = white_area + args.komi
    print("Black %d" % black_area)
    print("White %d + %.1f = %.1f" % (white_area, args.komi, white_score))
コード例 #3
0
    def test_identify_territory(self):
        board = goboard.from_string('''
            ...b..w..
            ...b..w..
            bbbb..w..
            wwwww.www
            wwbbw..w.
            wb.bbwww.
            wbbbb....
            ..b.b....
            ..bbb....
        ''')

        territory = scoring.evaluate_territory(board)

        self.assertEqual(8, territory.num_black_territory)
        self.assertEqual(6, territory.num_white_territory)
        self.assertEqual(20, territory.num_black_stones)
        self.assertEqual(20, territory.num_white_stones)
        self.assertEqual(27, territory.num_dame)

        self.assertIn((0, 0), territory.dame_points)
        self.assertNotIn((8, 0), territory.dame_points)
コード例 #4
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('black_bot_name')
    parser.add_argument('white_bot_name')
    parser.add_argument('--komi', '-k', type=float, default=5.5)
    args = parser.parse_args()

    black_bot = load_keras_bot(args.black_bot_name)
    white_bot = load_keras_bot(args.white_bot_name)

    print("Simulating %s vs %s..." %
          (args.black_bot_name, args.white_bot_name))
    board = goboard.GoBoard()
    simulate_game(board, black_bot=black_bot, white_bot=white_bot)
    print("Game over!")
    print(goboard.to_string(board))
    # Does not remove dead stones.
    print("\nScore (Chinese rules):")
    status = scoring.evaluate_territory(board)
    black_area = status.num_black_territory + status.num_black_stones
    white_area = status.num_white_territory + status.num_white_stones
    white_score = white_area + args.komi
    print("Black %d" % black_area)
    print("White %d + %.1f = %.1f" % (white_area, args.komi, white_score))