Esempio n. 1
0
def main():
    spaces = board.getStartBoard()
    turn = getWhoMovesFirst()
    depthLim = getDepthLim()
    gameEnd = False

    while not gameEnd:
        print("-------------------------------------")
        board.printBoard(spaces)

        if turn == board.SOUTH:
            print("South's turn")
            print("-------------------------------------")
            playerMove(spaces, turn)
            turn = board.NORTH
        elif turn == board.NORTH:
            print("North's turn")
            print("-------------------------------------")
            tempNode = Node.Node(spaces[:], 0, depthLim)
            value, state = Node.ABPruning(tempNode, -1000000, 1000000)
            success, errorMessage = board.move(spaces, board.NORTH,
                                               str(state.cupMove))
            print("\tMoving Cup:", state.cupMove, "\n\tTranslated to Cup:",
                  state.cupMove - 7)
            turn = board.SOUTH
        else:
            print("Error: Turn set to invalid player.")
            break
        gameEnd = board.checkEndState(spaces)
        if gameEnd:
            board.printBoard(spaces)
            print("-------------------------------------")
            input("Game has ended. Hit enter to see results")
            print("\n----- RESULTS -----")
            print("South Points:", board.getScore(spaces, board.SOUTH))
            print("North Points:", board.getScore(spaces, board.NORTH))

            if board.getScore(spaces, board.SOUTH) > board.getScore(
                    spaces, board.NORTH):
                print("South wins!")
            elif board.getScore(spaces, board.SOUTH) < board.getScore(
                    spaces, board.NORTH):
                print("North wins!")
            else:
                print("It's a tie.")