1
resposta

Singleplayer ou Multiplayer

Bom Dia!!

Elaborei uma parte do código para que o jogo aceitasse a entrada de Singleplayer ou Multiplayer, caso tenha mais de uma pessoa jogando, os jogadores tem a oportunidade de adicionar uma palavra a escolha deles.

import random

def jogar():
    print("*********************************")
    print("***Bem vindo ao jogo de Forca!***")
    print("*********************************")

    jogadores = int(input("(1) Single player  (2) Multiplayer")) # Escolhe o modo de jogo 

    if(jogadores == 2):
        palavra_secreta = input("Qual será a palavra secreta?").strip().upper()
        espaco = 0
        print("palavra secreta salva!")
        while (espaco <= 80): # uso o while pra pular varias linhas e a palavra digitada não ficar a mostra
            print(".")
            espaco += 1
    elif(jogadores == 1):  #Apartir daqui o código está bem parecido com o do instrutor
        arquivo = open("palavras.txt", "r")
        palavras = []
        for linha in arquivo:
            linha = linha.strip()
            palavras.append(linha)

        numero = random.randrange(0, len(palavras))
        palavra_secreta = palavras[numero].upper()

        arquivo.close()


    letras_acertadas = ["_" for letra in palavra_secreta]
    letras_faltando = str(letras_acertadas.count("_"))



    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)
    print("Ainda faltam acertar {} letras".format(letras_faltando))

    while(not enforcou and not acertou ):

        chute = input("Chute uma letra")
        chute = chute.strip().upper()


        index = 0

        if(chute in palavra_secreta):

            for letra in palavra_secreta:
                if(chute.upper() == letra.upper()):
                    letras_acertadas[index] = letra
                    letras_faltando = str(letras_acertadas.count("_"))
                    if(letras_faltando == "0"):
                        acertou = True

                index += 1
        else:
            erros += 1
        enforcou = erros == 6
        print("Você errou! Faltam {} tentativas.".format(6 - erros))
        print(letras_acertadas)
        print("Ainda faltam acertar {} letras".format(letras_faltando))

    if(acertou):
        print("Você ganhou!!")
    elif(enforcou):
        print("Você perdeu!")

    print("Fim do jogo!")

if(__name__=="__main__"):
    jogar()
1 resposta

Olá Marcos, tudo bem? Espero que sim!

Muito interessante sua abordagem Marcos, ficou bastante interessante. Dessa forma uma pessoa pode escolher uma palavra e a outra pessoa não vai conseguir ver qual foi a escolhida.

Testei aqui e está funcionando bem.

É sempre bom explorar novas formas de realizar o código. Isso ajuda no aprendizado.

Seria interessante colocar uma mensagem de escolher 1 ou 2 no momento do input de Single Player e Multiplayer para ficar mais claro que se trata de um input().

Por exemplo: jogadores = int(input("Escolha uma opção para continuar:\n(1) Single player (2) Multiplayer\n"))

Adicionei o \n para dar uma quebra de linha e ficar mais nítido também no input().

Bons estudos!