 Podemos mejorar el código de asistente virtual, añadiendo más cadenas alfa numérica con las que comparas. Una buena solución para implementar esta idea es el uso de listas, de forma que a cada orden le corresponda una lista y cada lista contenga cadenas de textos que signifiquen lo mismo. Vamos a ver cómo podemos hacer esto en la práctica. En Scratch tenemos los bloques de variable que nos ofrecen la posibilidad de crear listas. Vamos a crear una lista por cada orden que deseamos implementar. Encender luz, será la lista que contiene todos los textos que tienen que ver con esa orden. Apagar luz, encender ventilador y por último la lista para la orden apagar ventilador. El próximo paso sería rellenar cada una de las listas con textos que tengan que ver con la orden en cuestión. Por ejemplo, para la orden encender luz podemos añadir, enciende la luz o encender la luz o enciende la lámpara o cualquier cosa que se nos ocurra. Lo mismo para apagar la luz, apagar la luz, apagar la luz, etcétera, para encender ventilador. A continuación, vamos a ocultar las listas de la pantalla y el próximo paso sería sustituir estas condiciones, estos condicionales, en los que se comparan respuestas con un texto, por otro condicional que compruebe si la respuesta está dentro de alguna de las listas que acabamos de crear. Podemos hacerlo utilizando el bloque booleano cosa está en lista, donde cosa sería la respuesta que obtenemos del usuario y la lista pues cada una de las listas que acabamos de crear. Encender luz, dispararía el evento, encender la lámpara y con esto tenemos una nueva versión del asistente, un poquito más inteligente, algo más listo, porque es capaz de interpretar más textos que significan la misma orden o instrucción. Por ejemplo, podemos encender la lámpara con esta orden, con enciender la luz o apagarla con esta, apagar la luz. Podemos volver a encenderla con encender la luz, es otra orden distinta, con el ventilador igual, enciende el ventilador o apagarlo con apagar el ventilador. Aunque hemos ganado algo, tampoco podemos decir que se trate de un asistente muy eficaz. Para empezar, seguimos teniendo el problema de que los errores de escritura siguen sin interpretarse. Por ejemplo, si yo pongo algo como enciende luz, pues él no sabe interpretarlo porque esa cadena no está en ninguna de las listas que acabamos de crear. De la misma forma hay un sinfín de expresiones que podemos utilizar para decir que queremos encender o apagar la lámpara, como por ejemplo conecta la lámpara, tampoco la va a interpretar o ponga el ventilador y muchísimos más que se nos pueden ocurrir. Pero es que además existen expresiones más útiles que pueden utilizarse para lanzar estas órdenes, por ejemplo, ¿qué calor hace? Obviamente Higa no es capaz de interpretar esa frase. Si queremos que Higa realmente interprete todo esto, pues tendríamos que añadir un número prácticamente infinito a cada una de las listas que acabamos de crear. Y eso sencillamente no es posible. Así que hasta que hemos llegado con la estrategia de comparación de frases con listas de cadenas alfanuméricas, no se puede hacer más si continuamos por esta vía.