Juego del ahorcado
Adivina una palabra secreta letra por letra con seis errores permitidos.
- Nivel
- Avanzado
- Tema:
- Proyectos
- Conceptos:
- Entrada y salida
- Texto
- Arreglos
- Mientras
- Azar
- Lógicos
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Azar elige una palabra de un arreglo. Un Mientras se repite hasta ganar o perder, y en cada letra se arma de nuevo el progreso con Subcadena.
Código
Algoritmo Ahorcado Definir palabras, secreta, progreso, nuevo, letra Como Caracter Definir errores, i Como Entero Definir acerto Como Logico Dimension palabras[5] palabras[1] <- "algoritmo" palabras[2] <- "variable" palabras[3] <- "pantalla" palabras[4] <- "teclado" palabras[5] <- "programa" // Azar(5) devuelve un número de 0 a 4 secreta <- palabras[Azar(5) + 1] progreso <- "" Para i <- 1 Hasta Longitud(secreta) Hacer progreso <- progreso + "_" FinPara errores <- 0 Mientras progreso <> secreta Y errores < 6 Hacer Escribir "Palabra: ", progreso, " Errores: ", errores, " de 6" Escribir "Letra:" Leer letra letra <- Minusculas(letra) acerto <- Falso nuevo <- "" Para i <- 1 Hasta Longitud(secreta) Hacer Si Subcadena(secreta, i, i) = letra Entonces nuevo <- nuevo + letra acerto <- Verdadero SiNo nuevo <- nuevo + Subcadena(progreso, i, i) FinSi FinPara progreso <- nuevo Si NO acerto Entonces errores <- errores + 1 Escribir "La letra ", letra, " no está." FinSi FinMientras Si progreso = secreta Entonces Escribir "¡Ganaste! La palabra era ", secreta, "." SiNo Escribir "Perdiste. La palabra era ", secreta, "." FinSiFinAlgoritmoDiagrama de flujo
Cada bloque del diagrama corresponde a una instrucción del código.
Ejemplo de ejecución
Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.
Palabra: ________ Errores: 0 de 6Letra:Respuesta del usuario: aPalabra: _____a_a Errores: 0 de 6Letra:Respuesta del usuario: eLa letra e no está.Palabra: _____a_a Errores: 1 de 6Letra:Respuesta del usuario: oPalabra: __o__a_a Errores: 1 de 6Letra:Respuesta del usuario: rPalabra: _ro_ra_a Errores: 1 de 6Letra:Respuesta del usuario: iLa letra i no está.Palabra: _ro_ra_a Errores: 2 de 6Letra:Respuesta del usuario: nLa letra n no está.Palabra: _ro_ra_a Errores: 3 de 6Letra:Respuesta del usuario: tLa letra t no está.Palabra: _ro_ra_a Errores: 4 de 6Letra:Respuesta del usuario: lLa letra l no está.Palabra: _ro_ra_a Errores: 5 de 6Letra:Respuesta del usuario: sLa letra s no está.Perdiste. La palabra era programa.
Desafío
Avisa cuando el jugador repite una letra que ya había probado, sin contarla como error.
Ver pista
Guarda las letras usadas en un texto y revisa si la nueva ya está ahí recorriéndolo con Subcadena.
Ejemplos relacionados
Ordenamiento Shell
Una inserción entre elementos lejanos, con un salto que se achica en cada pasada.
AvanzadoOrdenamiento por montículo
Organiza el arreglo como un montículo y saca el mayor una y otra vez.
AvanzadoOrdenamiento burbuja
Ordena números al azar intercambiando vecinos, y se detiene apenas quedan ordenados.
Intermedio