Juego del ahorcado

Este código es una colaboración de: Melvin Guerrero

Descripción:

Este es el juego del ahorcado creado en Latino
Copiar todo el código
Descargar código .lat
Todos los códigos fueron copiados a su portapapeles
/*
Este juego del ahorcado está escrito en Latino (un lenguaje de programación con sintaxis al Español).
El código de este juego está inspirado en el video tutorial de Liliana Castañón Ayala,
titulado: "Juego del ahorcado:Python(Básico)" el cual se puede encontrar en Youtube desde el siguiente link https://youtu.be/ipyIYYhS_7w

Juego del Ahorcado en Latino, creado el 28 de Mayo, 2019 por Melvin Guerrero
*/


###### Código fuente del juego ######


//listado con las imagenes del ahorcado
IMAGEN_AHORCADO=["
•=========•
    |   ||
        ||
        ||
        ||
        ||
        ||
 =========","
•=========•
    |   ||
    O   ||
        ||
        ||
        ||
        ||
 =========","
•=========•
    |   ||
    O   ||
   /    ||
        ||
        ||
        ||
 =========","
•=========•
    |   ||
    O   ||
   /|   ||
        ||
        ||
        ||
 =========","
•=========•
    |   ||
    O   ||
   /|\\  ||
    |   ||
        ||
        ||
 =========","
•=========•
    |   ||
    O   ||
   /|\\  ||
    |   ||
   /    ||
        ||
 =========","
•=========•
    |   ||
    O   ||
   /|\\  ||
    |   ||
   / \\  ||
        ||
 ========="]
 
 LIBRE="
 •=========•
     |   ||
     |   ||
     •   ||
         ||     O
         ||    \\|/
         ||     |
  =========    / \\"

//listado de palabras secretas a elegir
LISTAPALABRAS = ["hormiga", "babuino", "tejon" ,"murcielago", "oso", "castor", "camello", "gato", "almeja", "cobra", "pantera", "coyote", "cuervo", "ciervo", "perro", "burro", "pato", "aguila", "huron", "zorro", "rana", "cabra", "ganso", "halcon", "leon", "lagarto", "llama", "topo", "mono", "alce", "raton", "mula", "salamandra", "nutria", "buho", "panda", "loro", "paloma", "piton", "conejo", "carnero", "rata", "cuervo", "rinoceronte", "salmon", "foca", "tiburon", "oveja", "mofeta", "perezoso", "serpiente", "cisne", "tigre", "sapo", "trucha", "pavo", "tortuga", "comadreja", "ballena", "lobo", "cebra"]

//estas variables se declaran afuera, para que no se reinicien por el blucle Repetir/Hasta
victorias=0 //contador de victorias
perdidas=0 //contador de game over



funcion obtenerPalabraAlAzar(listaDePalabras)
 indiceDePalabras = mate.aleatorio(1,lista.longitud(listaDePalabras))//toma la palabra aleatoriamente entre 1 y la longitud de la lista
 
 retorno listaDePalabras[indiceDePalabras]//devuelve el valor aleatorio de la lista ejemplo: LISTAPALABRAS[X]
fin




escribir("¡Hola! ¿Cómo te llamas?")
nombre=leer()
jugar="" //se crea una variable y se le asigna un valor vacio para ser utilizada mas adelante



mientras jugar !="s" && jugar !="n" //bucle infinito que pregunta si el usuario quiere jugar o no
 escribir ("Hola "..nombre.." ¿Estás listo para jugar? ( sí(s) ó no(n) )")
 j=leer()
 jugar=cadena.minusculas(j)//convierte a minusculas cualquier letra que el usuario digite
fin



si jugar == "n" //si el usuario responde N, entonces el juego se termina
 escribir ("Una verdadera lastima :( ... Adios")
 sis.salir()
osi jugar == "s" //si el usuario responde S, entonces el juego comienza
 repetir
  escribir ("¡Excelente!")
  sis.dormir(0.5)
  palabraSecreta=obtenerPalabraAlAzar(LISTAPALABRAS) //llama a la funcion para asignar una palabra aleatoria a la variable
  palabraOculta=""
  tuPalabra=""
  img=0 //contador de image del ahorcado
  vidas=6
  conteoRegresivo=3
  mientras conteoRegresivo > 0 //conteo regresivo
   escribir ("En "..conteoRegresivo)
   conteoRegresivo--
   sis.dormir(1)
  fin
  //limpiar()
  escribir ("********** ¡Comencemos a jugar! **********")
  desde (x=0;x<cadena.longitud(palabraSecreta);x++)//cuenta la palabra secreta por un "*"
   palabraOculta=palabraOculta.."*"
  fin
 
  mientras vidas > 0 && cadena.comparar(palabraOculta, palabraSecreta) !=0 // ¡EL JUEGO COMIENZA!
   escribir (IMAGEN_AHORCADO[img])
   escribir ("vidas: "..vidas.."\tvictorias: "..victorias.." | Perdídas: "..perdidas)
   escribir ("La palabra oculta es: "..palabraOculta)
   escribir ("Introduce una letra: ")
   digitar=leer()
   tuLetra=cadena.minusculas(digitar[0])//toma solo el primer digito y lo converte en minuscula
   si cadena.contiene(tuPalabra, tuLetra) == verdadero //comprueva que la letra no alla sido descubierta antes
    escribir ("Esta letra ya esta descubierta, prueva con una diferente")
   sino
    si cadena.contiene(palabraSecreta, tuLetra) == verdadero
     tuPalabra=tuPalabra..tuLetra //se agrega la letra a la lista de letras descubiertas
     desde (x=0;x<cadena.longitud(palabraSecreta);x++)
      desde (y=0;y<cadena.longitud(tuPalabra);y++)
       si cadena.encontrar(palabraSecreta[x], tuPalabra[y]) == 0 //el 0 significa "verdadero"
        si palabraOculta[x] == "*"
         palabraOculta[x] = tuPalabra[y]//cambia el valor del indice "*" por la letra encontrada
        fin
       fin
      fin
     fin
    sino
     escribir ("\n*** ¡Palabra incorrecta! vuelve a intentar ***\n")
     vidas-- //el valor de vidas se resta por 1
     img++
    fin
   fin
  fin
 
  funcion jugarDeNuevo()
   mientras jugarOtraVez != "s" && jugarOtraVez != "n"
    escribir ("\n¿Quieres volver a jugar? ( sí(s) ó no(n) )")
    jugarOtraVez=leer()
    
    retorno jugarOtraVez
   fin
  fin
 
  si cadena.comparar(palabraOculta, palabraSecreta) == 0
   limpiar()
   victorias++
   escribir (LIBRE)
   escribir ("La palabra secreta fue: "..palabraSecreta)
   escribir ("¡¡¡Muchas Felicidades "..nombre.."!!!, has descubierto la palabra secreta")
  fin
 
  si vidas==0
   limpiar()
   perdidas++
   escribir (IMAGEN_AHORCADO[img])
   escribir ("¡Que pena "..nombre.."! has perdido y tan facil que era...")
   escribir ("\n****La palabra secreta era: "..palabraSecreta)
  fin
  
  jugarOtraVez=""//declara la variable antes de ser asignada a la funcion
  
  jugarOtraVez=jugarDeNuevo()
 hasta (jugarOtraVez != "s")

 escribir ("\nGracias por jugar!")
fin
 
###### Fin del juego ######


0 Comentarios