Meta: Haz que la conversación sea más adaptable usando variables.
Vocabulario: make
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]
if empty? answer [stop]
question [¿Cuál es tu nombre?]
if empty? answer [stop]
make "yourname answer
text1, ct insert "Hola, insert char 32 insert :yourname insert "! showtext
question (se :yourname [, Yo no tengo nombre. Por favor dame un nombre.] )
if empty? answer [stop]
text1, ct insert [Yo soy] insert char 32 insert answer insert "!
question (se :yourname [, ¿Qué color te gusta más: rojo, amarillo, naranja, verde, azul, o violeta?] )
if empty? answer [stop]
changecolor
question (se [ Me gusta el] answer [también, ] :yourname [. ¿Qué deporte te gusta más: football, baseball, basketball, o soccer?] )
insist
announce (se [¡También me gusta más el] answer [! ¡Mira cómo me convierto en una pelota,] :yourname "! )
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]
if empty? answer [stopall]
question [¿Qué deporte te gusta más: football, baseball, basketball, o soccer? (Escribe con cuidado)]
insist
end
to Let's_talk_again!
startup
end
Notas Supón que deseamos que el programa recuerde el nombre del usuario durante toda la conversación. Necesitamos una manera para guardad este nombre, porque answer sólo recuerda la última respuesta.
- Podemos guardar una respuesta creando una variable usando make. En este caso, el comando:
make "yourname answer
crea una variable llamada yourname (tu nombre) y le da el valor de la respuesta más reciente. (Asegúrate de poner comillas antes del nombre de la variable). Ahora el computador recordará la respuesta tanto como queramos. Siempre que queramos usar ese nombre, podemos escribir :yourname y el nombre del usuario será dado. (Asegúrate de poner los dos puntos :).
¿Qué pasa si?
Intenta dar a tu variable un nombre diferente en lugar de yourname. ¿Funciona todavía?
Desafío
Crea una conversación de preguntas y respuestas en la cual incluyas el nombre del usuario en, por lo menos, tres preguntas, al inicio, en el medio, y al final de cada pregunta.
|