示例#1
0
    while i < numPlayers:
        # O trecho abaixo envia o jogador vencedor
        time.sleep(.1)
        (match.getPlayer(i).getSocket()).send(str(winner).encode('utf8'))
        i += 1


# Iniciando um socket para receber conexões TCP
serverSocket = startTCPServer(SERVER_PORT)

while True:
    # Criando uma nova partida
    partida = Partida(NUM_PLAYERS, BOARD_DIMEN)

    # Mostrando os valores dispostos no tabuleiro
    Utils.apresentaTabuleiro(partida.board.values, BOARD_DIMEN)

    # Iniciando conexões com os clientes
    # broadcast funciona com índice. Utilizado em transmissões para todos jogadores
    broadcast = 0
    while broadcast < partida.getPlayersNumber():
        print("Aguarnando nova conexão")
        connectionSocket, address = serverSocket.accept()
        partida.addPlayer(broadcast, connectionSocket, address)
        print("Nova conexão estabelecida com: ", address)
        # Enviando identificação para usuário
        time.sleep(.1)
        (partida.getPlayer(broadcast).getSocket()).send(
            str(broadcast).encode('utf8'))
        broadcast += 1
示例#2
0
    # Recebendo placar inicial
    placar = clientSocket.recv(4096)
    placar = pickle.loads(placar)
    # Recebendo o jogadaor da vez
    jogadorVez = clientSocket.recv(4096).decode('utf8')
    # Verifica se ainda há partida
    if jogadorVez == "-1":
        break

    if coord1 == "":
        print("Iniciando patida!\n")



    # Apresentando o tabuleiro e placar recebidos
    Utils.apresentaTabuleiro(tabuleiro, int(dimen))
    print(placar)

    # PRIMEIRA PEÇA
    while True:
        # Verifica se cliente é o jogador da vez
        if jogadorVez == idJogador:
            # Indica que é a vez deste cliente
            print("Sua vez, jogador " + str(int(jogadorVez)+1) + "")
            # As coordenadas serão tradadas como string, pois a trasmissão e recepção(socket) é de iplementação mais fácil
            # Solicita coordenadas para usuário
            coord1 = getCoordinates(int(dimen))
            # Enquanto as coordenadas forem falsas (inválidas),
            # o programa cliente continuará pedindo por peças válidas
            while (coord1 == False):
                coord1 = getCoordinates(int(dimen))