Meta: Convierte a la criaturita misma en una pelota!
Vocabulario: member?, char 32 (char), setsh (setshape), new use of stop (stop)
to startup
set "question "pos [-200 140]
set "announce "pos [-200 140]
text1, ct hidetext
setbg 0
t1, setsh "critter
conversation
end
to conversation
question [¡Hola! ¿Deseas hablar? (Teclea SI o NO.)]
if answer = "no [stop]
question [¿Cuál es tu nombre?]
text1, ct insert "Hola, insert char 32 insert answer insert "! showtext
question [Yo no tengo nombre. Por favor dame un nombre.]
text1, ct insert [Yo soy] insert char 32 insert answer insert "!
question [¿Qué color te gusta más: rojo, amarillo, naranja, verde, azul, o violeta?]
changecolor
question [¿Qué deporte te gusta más: football, baseball, basketball, o soccer?]
insist
announce [¡A mi también me gusta más ese deporte! ¡Mira cómo me convierto en una pelota!]
setsh answer
text1, ct insert [Soy una pelota de] insert char 32 insert answer insert "!
end
to changecolor
if answer = "rojo [setbg "red]
if answer = "amarillo [setbg "yellow]
if answer = "naranja [setbg "orange]
if answer = "verde [setbg "green]
if answer = "azul [setbg "blue]
if answer = "violeta [setbg "violet]
end
to insist
if member? answer [basketball baseball football soccer] [stop]
question [¿Qué deporte te gusta más: football, baseball, basketball, or soccer? (Escribe con cuidado)]
insist
end
to Let's_talk_again!
startup
end
Notas En este proyecto, la computadora reacciona a más respuestas. En la última pregunta de la conversación, si el visitante escribe uno de los deportes listados, entonces el nombre del deporte aparecerá en la caja de texto y la criaturita se transformará en la pelota de aquel deporte.
- Ya que la criaturita cambiará de figura, necesitamos restablecerla a su figura original. Asegúrate de la figura original tiene un nombre. En este ejemplo, el nombre de la figura es critter.
- En el procedimiento startup, t1, setsh "critter pone la figura original a la criaturita. Setshsignifica "set shape" (fija figura). Ten presente que debes usar comillas solamente antes del nombre de la figura. (Si usas un nombre diferente para tu figura, debes usar ese mismo nombre aquí).
- Dibuja o importa las figuras de las pelotas. Nombre a cada pelota con el nombre del deporte al que pertenecen. (Cuando dibujes una pelota de baseball, nombra la figura baseball).
- Puedes incluir la respuesta del visitante en una oración en la caja de texto.
Insert char 32 coloca un espacio en blanco en la caja de texto cuando se lo necesite.
Coloca comillas (") antes de cada palabra que desees insertar. Si deseas incluir una secuencia de palabras, colócalas entre corchetes. También puedes insertar signos de puntuación, como el signo de admiración de esta manera:
insert "!
- En el procedimiento insist, usamos member? para ver si la respuesta es uno de los "miembros" de una lista de deportes. Si lo es, usamos stop para detener únicamente el procedimiento insist, y continuamos con lo que sobra del procedimiento conversation. Pero si la respuesta no es un miembro de la lista, entonces hacemos la pregunta nuevamente. Necesitamos chequear esta nueva respuesta, también. La palabra insist es el último comando, y es el nombre de este procedimiento. Este comando nos envía de regreso al inicio del procedimiento insist nuevamente para que podamos chequear la respuesta. Este procedimiento seguirá ejecutándose hasta que el visitante teclea una de las cuatro palabras en la lista. Insistes en que el visitante responda a la pregunta con uno de los deportes en la lista.
A procedimiento que se llama a sí mismo como este se le llama "procedimiento recursivo". Asegúrate de siempre incluir una manera para detener el procedimiento, ¡o se ejecutará por siempre!
- Escribe un procedimiento llamado Let's_talk_again! (hablemos nuevamente) con un solo comando: startup. Esto ejecutará el procedimiento startup nuevamente y pondrá al proyecto nuevamente en su estado inicial si tu visitante desea mantener otra conversación.
- Crea un botón llamada Let's_talk_again! e intenta usarlo.
¿Qué pasa si?
Cuando pones a prueba tu conversación, ¿qué pasa si escribes mal la palabra al responder las preguntas acerca de tu color y deporte favoritos?
Desafío
Haz tu propia conversación de preguntas y respuestas donde la criaturita responde a la preguntas del usuario.
|