Пример #1
0
        'board': game.board,
        'name': node_id[-3:]
    }

    while True:
        if (game.turn % 2) == 0:
            # Player's turn
            move = getReady(game)
            game = makeMove(move, game)
            node = util.updateNode(node, game)
        else:
            # Computer's turn
            # Depth == 3, with Dijkstra Eval
            best_value = util.alphaBetaSearch(node,
                                              3,
                                              -99,
                                              99,
                                              isMaximizer=True)
            move = util.getBestMove(node, best_value)
            game = makeMove(move, game)
            node = util.updateNode(node, game)

        if game.isGameOver():
            if game.checkWin(game.BLUE):
                print("!!! Blue Player Won !!!")
            elif game.checkWin(game.RED):
                print("!!! Red Player Won !!!")
            else:
                print("!!! DRAW nobody could win !!!")
            ans = str(
                input(
Пример #2
0
     'id': node_id,
     'type': 'MIN',
     'children': [],
     'searched': False,
     'value': None,
     'parent_type': 'MAX',
     'board': game.board,
     'name': node_id[-3:]
 }
 while True:
     game.print()
     if (game.turn % 2) == 0:
         # Computer 1's turn
         best_value = util.alphaBetaSearch(node,
                                           4,
                                           -9999999,
                                           9999999,
                                           isMaximizer=False)
         move = getReady(game)
         game = makeMove(move, game)
         node = util.updateNode(node, game)
     else:
         # Computer 2's turn
         boardState = node['board'].copy()
         try:
             move = FirstTable[boardState.tobytes()]
         except KeyError:
             best_value = util.iterativeDeepening(node, True)
             move = util.getBestMove(node, best_value)
             FirstTable[boardState.tobytes()] = move
         game = makeMove(move, game)