Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] python jogo de adivinhacao

ola, minha duvida e um pouco complicada, estou tentando criar um projeto usando o código abaixo porem fracassei. o código e de um jogo de forca que aprendi nas aulas aqui da alura, e minha ideia era turbinar um pouco o jogo. a ideia era fazer um jogo que 3 pessoa ou mais vão jogar ao mesmo tempo e disputar entre elas, cada pessoa vai ter sua vez de jogar e tentar adivinhar uma das letras da palavra mas antes cada pessoa vai passar por um sorteio que vai decidir quantos pontos a pessoa vai ganhar caso acerte a letra, mas também no sorteio a pessoa pode perder sua vez de jogar ou perde todos os pontos que ela conseguiu, e o jogo vai ter varias rodadas sempre que uma palavra for acertada uma nova rodada vai iniciar com uma nova palavra e as pessoas vão manter os pontos, o jogo so acaba quando alguém atingir um certo numero de pontos, e também quero colocar uma dica em cada palavra.

codigo e esse:

import random def jogar(): print("") print("BEM VINDO AO JOGO DE FORCA") print("")

arquivos = open("palavras.txt", "r")
palavras = []

for linha in arquivos:
    linha = linha.strip()
    palavras.append(linha)

arquivos.close()

numero: int      = random.randrange(0,len(palavras))
palavra_secreta  = palavras[numero].upper()
letras_acertadas = ["_" for letra in palavra_secreta]

print(letras_acertadas)

enforcou = False
acertou  = False
erros    = 0
pontos   = 1000

while(not enforcou and not acertou):
    chute = input("qual a letra? ")
    chute = chute.upper()

    if(chute in palavra_secreta):
        index = 0
        for letra in palavra_secreta:
            if(chute == letra):
                letras_acertadas[index] = letra
            index += 1
    else:
        erros  += 1
        pontos -= 100
        desenha_forca(erros)

    print(letras_acertadas)

    enforcou = erros == 6
    acertou  = "_" not in letras_acertadas

    if(acertou):
        print("parabens voce ganhou {} pontos".format(pontos*2))
    if(enforcou):
        print("voce perdeu")
        print(palavra_secreta)
        print(pontos)
1 resposta
solução!

Olá Felipe!

Pelo que entendi, você está tentando turbinar o jogo de forca que aprendeu nas aulas da Alura. A ideia é criar um jogo em que várias pessoas possam jogar ao mesmo tempo, disputando entre si. Cada pessoa terá sua vez de jogar e tentar adivinhar uma das letras da palavra, mas antes disso, haverá um sorteio para decidir quantos pontos a pessoa ganhará caso acerte a letra. Porém, no sorteio, a pessoa também pode perder sua vez de jogar ou perder todos os pontos que já conseguiu. O jogo terá várias rodadas, e sempre que uma palavra for acertada, uma nova rodada iniciará com uma nova palavra, mantendo os pontos das pessoas. O jogo só terminará quando alguém atingir um certo número de pontos. Além disso, você também quer adicionar uma dica em cada palavra.

Para implementar essas funcionalidades no seu jogo, você pode começar criando uma lista de jogadores, em que cada jogador terá um nome e uma pontuação. A cada rodada, você pode fazer o sorteio para decidir quantos pontos cada jogador ganhará, utilizando a função random.randint(min, max) para gerar um número aleatório dentro de um intervalo. Em seguida, você pode atualizar a pontuação de cada jogador de acordo com o resultado do sorteio.

Para o sorteio de perder a vez de jogar ou perder todos os pontos, você pode utilizar a mesma função random.randint(min, max), mas definindo valores específicos para representar cada resultado. Por exemplo, se o número sorteado for 0, o jogador perde a vez de jogar, se for 1, o jogador perde todos os pontos.

Você pode criar uma função separada para realizar o sorteio, passando como parâmetro o número de jogadores e a quantidade de pontos que cada jogador possui. Essa função pode retornar a nova pontuação de cada jogador após o sorteio.

Além disso, você precisará implementar a lógica para que o jogo tenha várias rodadas, iniciando uma nova rodada sempre que uma palavra for acertada. Para isso, você pode criar uma função nova_rodada() que seleciona uma nova palavra e reinicia as variáveis necessárias para a próxima rodada.

Por fim, para adicionar uma dica em cada palavra, você pode criar um dicionário em que a chave é a palavra e o valor é a dica correspondente. Durante o jogo, você pode exibir a dica da palavra atual para ajudar os jogadores.

Espero que essas sugestões possam te ajudar a turbinar o seu jogo de forca! Bons estudos!