Esempio n. 1
0
def playVersusAINoReplay(difficulty, player1, player2):
    running = True

    board = boardLogic.createBoard()
    pieces = boardLogic.createPieces()
    
    turn = Turn.PLAYER

    prints.printFancyBoard(board, turn, player1, player2)
    prints.printPieces(pieces)
    
    prints.printPieceToGive(pieces)
    piece = userInput.askForPiece(pieces)
    turn = Turn.OPPONENT

    while (running):
        if (turn == Turn.PLAYER):
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToPlace(piece, turn)
            coords = userInput.askWhereToPlace(board)
            boardLogic.updateBoard(board, piece, int(coords[0]), int(coords[1]))
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
          #      input('Press enter to advance')
                return result
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)        
            piece = userInput.askForPiece(pieces)        
            turn = Turn.OPPONENT

        else:
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            time.sleep(0.5)
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
         #       input('Press enter to advance')
                return result
            piece = AI.placePiece(board, piece, difficulty) #add difficulty
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
        #        input('Press enter to advance')
                return result
            piece = AI.pickPiece(board, pieces, difficulty) #add difficulty
            

            turn = Turn.PLAYER
Esempio n. 2
0
def playAIvsAI(difficulty, player1, player2):
    running = True

    board = boardLogic.createBoard()
    pieces = boardLogic.createPieces()
    
    turn = Turn.OPPONENT

   # prints.printFancyBoard(board, turn)
   # prints.printPieces(pieces)
    

    piece = AI.pickPiece(board, pieces, difficulty)
    turn = Turn.PLAYER

    while (running):
        if (turn == Turn.PLAYER):
    #        prints.printFancyBoard(board, turn)
     #       prints.printPieces(pieces)

            boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            piece = AI.placePiece(board, piece, difficulty)
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
                #input('Press enter to advance')
                return result
            piece = AI.pickPiece(board, pieces, difficulty)        
            turn = Turn.OPPONENT
        else:
      #      prints.printFancyBoard(board, turn)
       #     prints.printPieces(pieces)

            boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            piece = AI.placePiece(board, piece, difficulty)
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
                #input('Press enter to advance')
                return result
            piece = AI.pickPiece(board, pieces, difficulty)            
            turn = Turn.PLAYER
Esempio n. 3
0
def playOnlineAI(host, connection, player1, player2):
    running = True

#    connection = peer.Peer(host)

    board = boardLogic.createBoard()
    pieces = boardLogic.createPieces()
    difficulty = Difficulty.HARD

    firstTurn = True
    if (host):
        turn = Turn.PLAYER
 #       connection.accept_client()

        # First turn (just handing a piece)
        prints.printFancyBoard(board, turn, player1, player2)
        prints.printPieces(pieces)
        prints.printPieceToGive(pieces)
        piece = AI.pickPiece(board, pieces, difficulty) 
        turn = Turn.OPPONENT
        time.sleep(0.05)
        connection.send([piece, pieces, board])
        firstTurn = False

    else:
        turn = Turn.OPPONENT
#        connection.connect_to_server()
        prints.printFancyBoard(board, turn, player1, player2)
        prints.printPieces(pieces)

    while (running):
        if (firstTurn):
            [piece, pieces, board] = connection.receive()
            turn = Turn.PLAYER
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            #Show given piece and place it
            prints.printPieceToPlace(piece, turn)
            AI.placePiece(board, piece, difficulty) #add difficulty        
#            boardLogic.updateBoard(board, piece, int(coords[0]), int(coords[1]))
            time.sleep(0.05)
            connection.send([piece, pieces, board])
            # Pick a piece for opponent
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToGive(pieces)
            piece = AI.pickPiece(board, pieces, difficulty) #add difficulty
            time.sleep(0.05)
            connection.send([piece, pieces, board])
            firstTurn = False
            turn = Turn.OPPONENT
        else:
            turn = Turn.OPPONENT
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            [piece, pieces, board] = connection.receive()
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
            #    input('Press enter to advance')
                return result

            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            [piece, pieces, board] = connection.receive()
            turn = Turn.PLAYER
            # Show given piece, place it
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToPlace(piece, turn)
            AI.placePiece(board, piece, difficulty) #add difficulty
#            boardLogic.updateBoard(board, piece, int(coords[0]), int(coords[1]))
            time.sleep(0.05)
            connection.send([piece, pieces, board])
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
           #     input('Press enter to advance')
                return result
        
            # Pick a piece for opponent
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToGive(pieces)
            piece = AI.pickPiece(board, pieces, difficulty)
            turn = Turn.OPPONENT
            time.sleep(0.05)
            connection.send([piece, pieces, board])
Esempio n. 4
0
def playOnlineVersusTournament(host, connection, player1, player2):
    running = True

#    connection = peer.Peer(host)

    board = boardLogic.createBoard()
    pieces = boardLogic.createPieces()

    firstTurn = True
    if (host):
        turn = Turn.PLAYER
 #       connection.accept_client()

        # First turn (just handing a piece)
        prints.printFancyBoard(board, turn, player1, player2)
        prints.printPieces(pieces)
        prints.printPieceToGive(pieces)
        piece = userInput.askForPiece(pieces)
        turn = Turn.OPPONENT
        connection.send([piece, pieces, board])
        firstTurn = False

    else:
        turn = Turn.OPPONENT
#        connection.connect_to_server()
        prints.printFancyBoard(board, turn, player1, player2)
        prints.printPieces(pieces)

    while (running):
        if (firstTurn):
            [piece, pieces, board] = connection.receive()
            turn = Turn.PLAYER
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            #Show given piece and place it
            prints.printPieceToPlace(piece, turn)
            coords = userInput.askWhereToPlace(board)
            boardLogic.updateBoard(board, piece, int(coords[0]), int(coords[1]))
            connection.send([piece, pieces, board])
            # Pick a piece for opponent
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToGive(pieces)
            piece = userInput.askForPiece(pieces)
            connection.send([piece, pieces, board])
            firstTurn = False
            turn = Turn.OPPONENT
        else:
            turn = Turn.OPPONENT
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            [piece, pieces, board] = connection.receive()
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
              #  input('Press enter to advance')
                return result

            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            [piece, pieces, board] = connection.receive()
            turn = Turn.PLAYER
            # Show given piece, place it
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToPlace(piece, turn)
            coords = userInput.askWhereToPlace(board)
            boardLogic.updateBoard(board, piece, int(coords[0]), int(coords[1]))
            connection.send([piece, pieces, board])
            result = boardLogic.endGameNoReplay(board, piece, turn, player1, player2)
            if (result != 'NONE'):
             #   input('Press enter to advance')
                return result
        
            # Pick a piece for opponent
            prints.printFancyBoard(board, turn, player1, player2)
            prints.printPieces(pieces)
            prints.printPieceToGive(pieces)
            piece = userInput.askForPiece(pieces)
            turn = Turn.OPPONENT
            connection.send([piece, pieces, board])