Archivo de la etiqueta: adivina

Juega a adivinar el número con AppleScript

Con los conocimientos que ya tenemos en AppleScript podemos empezar a hacer aplicaciones más complejas como puede ser un simple juego de adivinar un número.

Nuestro script debe realizar las siguientes operaciones:

  • Guardar un número aleatorio entre 1 y 100 que hay que adivinar
  • Preguntar al usuario por un número entre 1 y 100
  • Comprobar que lo introducido por el usuario es correcto
  • Ver si el número del usuario es igual, mayor o menor que el número que hay que adivinar
  • Si el número es menor o mayor hay que dar un mensaje y seguir jugando
  • Si se ha acertado el número se da un mensaje y se termina el juego

El código propuesto a continuación usa funciones, manejo de errores, estructuras condicionales, variables globales, cuadros de diálogo y generación de números aleatorios. Todo esto ya lo hemos visto en artículos anteriores.

El código es el siguiente:


global numeroPensado
set numeroPensado to 0
juego()

on juego()
if numeroPensado = 0 then
set numeroPensado to random number from 1 to 10
end if
set dialogResult to display dialog "?Qué número he pensado?" default answer ""
try
set miNumero to the text returned of (dialogResult) as number
on error
set miNumero to 0
display alert "Debes introducir un número entre 1 y 100"
juego()
end try
if miNumero ≥ 1 and miNumero ≤ 100 then
if miNumero = numeroPensado then
display alert "¡Muy bien! Has acertado el número que he pensado"
else if miNumero < numeroPensado then display alert "El número que he pensado es mayor que " & (miNumero as text) juego() else if miNumero > numeroPensado then
display alert "El número que he pensado es menor que " & (miNumero as text)
juego()
end if
else
display alert "Debes introducir un número entre 1 y 100"
juego()
end if
end juego

Propuesta de mejora

El código de este pequeño juego es simple pero se puede mejorar de muchas maneras. Aquí se indican algunas mejoras que se podrían hacer por parte de los lectores:

  • Controlar que sólo se tengan 5 oportunidades para adivinar el número
  • Reproducir sonidos cuando se acierte y se falle
  • Hacer el juego inverso en el que el usuario piensa el número y el ordenador va preguntando por el número y el usuario responde si es mayor, menor o se ha acertado

Podéis enviarnos vuestras propuestas en los comentarios a este artículo.