El juego del ahorcado.

El juego del ahorcado.

AuthorDiego Santamaria
Published6/16/2024

mi tercer jeugo en python

este proyecto en el lenguaje de programación de python es el famoso juego de stick man en el cual debes adivinar una palabra secreta en una cantidad maxima de intentos, en este caso cree una lista en la cual guarde 9 palabras las cuales yo puse. para que puedas ver el dibujo del muñequito a lo large del juego cree una variable tipo string en la cual guarde todos los dibujos los cuales generee con chat gpt, esta variable esta en una función .

Para saber en cual dibujo debes estar cree una variable que contiene la cantidad de vidas que tiene el jugador, esta variable es llamada vidas_jugador. tambien cree una variable llamada letras adivinadas en la cual divide las palabras en la lista de palabras y verifica si el input del jugador es parte de esa palabra, si la letra del input es correcta la letra es guardada en la ariable que ya dije.

en este projecto aprendi a utilizar los loop for de una mejor manera, a como utilizar el .append, .lower y el join

librerias que use

  • random: es una función que te permite generar entre otras cosas, números aleatorios que para este juego lo utilize para que en la lista de palanbras elijiera una random y despues utilizar esa para el jeugo

¡Jugar ahora!

codigo

import random 

def juego_ahorcado():

    dibujos = [
            """
            ------
            |    |
            |
            |
            |
            |
            --------
            """,
            """
            ------
            |    |
            |    O
            |
            |
            |
            --------
            """,
            """
            ------
            |    |
            |    O
            |    |
            |
            |
            --------
            """,
            """
            ------
            |    |
            |    O
            |   /|
            |
            |
            --------
            """,
            """
            ------
            |    |
            |    O
            |   /|\\
            |
            |
            --------
            """,
            """
            ------
            |    |
            |    O
            |   /|\\
            |   /
            |
            --------
            """,
            """
            ------
            |    |
            |    O
            |   /|\\
            |   / \\
            |
            --------
            """
        ]


    palabras = ["sol", "paz", "luz", "flor", "mar", "amor", "cielo", "voz", "rayo"]
    palabra_random = random.choice(palabras)


    cantidad_vidas = 6 
    letras_adivinadas = []

    print(f"Esto es un test. La palabra secreta tiene {len(palabra_random)} letras.") #len sirve para sacar la longitud de una palabra en este caso en el de la palabra random


    while cantidad_vidas > 0:
        print(dibujos[6 - cantidad_vidas])
        # progreso = [letra if letra in letras_adivinadas else "_" for letra in palabra_random]
        progreso = []
        for letra in palabra_random:
            if letra in letras_adivinadas:
                progreso.append(letra)  # Agrega la letra adivinada
            else:
                progreso.append("_")     # Agrega un guion bajo si no se ha adivinado la letra

        # pega los elemento de la lista con un espacio en blanco entre ellos 
        print("Progreso:", " ".join(progreso))

        letra_input = input("Ingresa una letra: ").lower()

        if letra_input in letras_adivinadas:
            print("Ya has adivinado esa letra.")
        elif letra_input in palabra_random:
            letras_adivinadas.append(letra_input)  
            print("¡Correcto!")
        else:
            cantidad_vidas -= 1  
            print(f"Incorrecto, te quedan {cantidad_vidas} vidas.")
        

        if set(palabra_random) <= set(letras_adivinadas):
            print(f"¡Felicidades! Has adivinado la palabra: {palabra_random}")
            break

    if cantidad_vidas <= 0:
        print(dibujos[-1])
        print(f"Has perdido. La palabra era: {palabra_random}")

while True:
    juego_ahorcado()
    jugar_denuevo = input("deseas jugar nuevamente? (s/n): ").lower()
    if jugar_denuevo != ("s"):
        break