ChatBot

Vas a aprender a programar tu propio robot parlante!

Paso 1: Tu chatbot

Lista de actividades

Antes de empezar a hacer tu chatbot, tienes que decidir sobre su personalidad. Piensa en ello:

  • ¿Cuál es su nombre?
  • ¿Dónde viven?
  • ¿Son felices? ¿Serios? ¿Graciosos? ¿Tímidos? ¿Amistosos?

Comience un nuevo proyecto Scratch, y elimine el sprite de gato para que su proyecto esté vacío. Usted puede encontrar el editor de Scratch en línea en jumpto.cc/scratch-new.

Elige uno de estos sprites de carácter y añádelo a tu proyecto:

screenshot

Elige un fondo que se ajuste a la personalidad de tu chatbot. He aquí un ejemplo, aunque el tuyo no tiene por qué ser así:

screenshot

Paso 2: Un chatbot parlante

Ahora que tienes un chatbot con una personalidad, programémoslo para hablar contigo.

Lista de actividades

Haz clic en tu personaje de chatbot y añade este código:

Haz clic en tu chatbot para probarlo. Después de que le pregunten su nombre, escríbalo en la caja que se encuentra en la parte inferior del escenario.

screenshot

Tu chatbot simplemente responde ¡qué nombre tan bonito! cada vez. Puedes personalizar la respuesta de tu chatbot, haciendo uso de la respuesta del usuario. Cambia el código del chatbot, para que se vea así:

Para crear el último bloque, primero tendrá que arrastrar un bloque de unión verde join {.blockoperators} y arrastrarlo hasta el bloque say {.blocklooks}.

screenshot

A continuación, puede cambiar el texto «hello» para decir «Hola» y arrastrar el bloque {.blocksensing} de la respuesta en azul claro (desde la sección «Sensing») al mundo del texto.

screenshot

Pruebe este nuevo programa. ¿Funciona como esperabas? ¿Puedes arreglar algún problema que puedas ver? (Sugerencia: ¡puede intentar añadir un espacio en alguna parte!)

Puede ser que quieras guardar el nombre del usuario en una variable, para que puedas usarlo de nuevo más tarde. Cree una nueva variable llamada name {.blockdata}. Si has olvidado cómo hacerlo, el proyecto’Cazafantasmas’ te ayudará.

La información que introdujo ya está almacenada en una variable especial llamada respuesta answer {.blockensing}. Vaya al grupo de bloques Sensing y haga clic en el bloque de respuesta para que aparezca una marca de verificación. El valor actual de la respuesta answer {.blockensing} debe mostrarse en la parte superior izquierda del escenario.

Una vez que hayas creado tu nueva variable, asegúrate de que el código de tu chatbot se vea así:

Si vuelve a probar su programa, notará que la respuesta se almacena en la variable name {.blockdata}, y se muestra en la parte superior izquierda de la etapa. La variable name {.blockdata} debe contener ahora el mismo valor que la variable answer {.blockensing}.

screenshot

Si prefieres no ver las variables en tu etapa, puedes hacer clic en la marca junto a los nombres de las variables en la pestaña’Scripts’ para ocultarlas.

Guardar su proyecto

Desafío: Más preguntas

Programa tu chatbot para hacer otra pregunta. ¿Puedes almacenar su respuesta en una variable?

screenshot

Paso 3: Tomar decisiones

Puedes programar tu chatbot para decidir qué hacer, basándose en las respuestas del usuario.

Lista de actividades

Vamos a hacer que tu chatbot le haga al usuario una pregunta que tenga una respuesta o no. He aquí un ejemplo, pero puede cambiar la pregunta si lo deseas:

Note que ahora que ha almacenado el nombre del usuario en una variable, puede usarlo tanto como quiera.

Para probar este programa correctamente, necesitará probarlo dos veces – una vez escribiendo no como respuesta, y otra vez escribiendo . Sólo deberías recibir una respuesta de tu chatbot if {.blockcontrol} contestas que .

El problema con tu chatbot es que no da una respuesta si el usuario responde no. Puede corregir esto cambiando el bloque if {.blockcontrol} por un bloque if/else {.blockcontrol}, para que su código se vea así:

Si pruebas tu código, ahora verás que obtienes una respuesta cuando respondas o no. Tu chatbot debería responder con ¡Eso es fantástico! cuando respondas , pero responderás con ¡Oh no! si escribes otra cosa que no sea (de lo contrario else {.blockcontrol} significa `de lo contrario’).

screenshot

Puedes poner cualquier código dentro de un bloque if {.blockcontrol} o bien else {.blockcontrol}, no sólo código para hacer hablar a tu chatbot. Por ejemplo, puedes cambiar el disfraz del chatbot para que coincida con la respuesta.

Si echas un vistazo a los trajes de tu chatbot, puedes ver que hay más de uno. (Si no, siempre puedes añadir más tú mismo!)

screenshot

Puedes usar estos disfraces como parte de la respuesta de tu chatbot, añadiendo este código:

screenshot

Pruebe su programa, y usted debe ver la cara de su chatbot cambio en función de la respuesta que usted da.

screenshot

Desafío: Más decisiones

Programe su chatbot para hacer otra pregunta – algo con una respuesta sí o no. ¿Puedes hacer que tu chatbot responda a la respuesta?

screenshot

Paso 4: Cambio de ubicación

También puedes programar tu chatbot para cambiar su ubicación.

Lista de actividades

Añade otro telón de fondo a tu escenario, por ejemplo el telón de fondo de la «luna».

screenshot

Ahora puedes programar tu chatbot para cambiar de ubicación, añadiendo este código a tu chatbot:

También debes asegurarte de que tu chatbot esté fuera cuando empieces a hablar con él. Añade este bloque a la parte superior de tu código de chatbot:

screenshot

Pruebe su programa y responda sí cuando le pregunten si quiere ir a la luna. Deberías ver que la ubicación del chatbot ha cambiado.

screenshot

¿Su chatbot cambia de ubicación si escribe no? ¿Y si escribes a máquina no estoy seguro?

También puedes añadir este código dentro del bloque if {.blockcontrol}, para hacer que tu chatbot salte arriba y abajo 4 veces si la respuesta es :

screenshot

Pruebe su código de nuevo. ¿Tu chatbot salta arriba y abajo si contestas que

Desafío: Crea tu propio chatbot

Usa lo que has aprendido para terminar de crear tu chatbot interactivo. Aquí hay algunas ideas:

screenshot

Una vez que hayas terminado de crear tu chatbot, haz que tus amigos conversen con él. ¿Les gusta tu carácter? ¿Han detectado algún problema?


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentarios recientes