5. Guía 5: sistemas

5.5. Poesía generativa

5.5.3. Ejercicio 3: generamos aforismos con Snap!

Si abrís este ejemplo con Snap!, veréis un proyecto en el que ya hay cuatro listas creadas. Son listas de los sustantivos, verbos, adverbios y adjetivos más comunes en castellano.

Queremos que, trabajando la aleatoriedad, las listas y la concatenación de cadenas de caracteres, hagáis un programa que escriba en pantalla un pequeño aforismo o un verso. Si os atrevéis con un poema entero, aún mejor.

Por ejemplo, con las cuatro listas de Snap! comentadas antes, y pensando una sintaxis de [verbo + adverbio + «es como» + verbo + «un» + sustantivo + adjetivo], se han creado estos sencillos aforismos:

Concatenemos los elementos de las listas y añadámosles las cadenas de caracteres que queramos de la manera siguiente.

Imaginemos que queremos unir la cadena «es como» con un verbo al azar. Empecemos seleccionando aleatoriamente un verbo de la lista de verbos. Fijaos en que elijamos un elemento de la lista que ocupe la posición entre 1 y el número máximo de la lista (que nos es dado por su medida).

Después preparemos un «unir» del menú operadores escribiendo «es como» en el primero de los campos:

Ahora lo juntamos con el elemento que hemos preparado:

Ya tenemos un generador de frases como este:

Si quisiéramos unir más de dos cadenas, podríamos ir juntando bloques «unir»:

Y cuando ya tengamos toda la frase construida, solo faltará hacerla aparecer por pantalla. Una manera sencilla de hacerlo es tener un personaje que la «diga» mediante un bloque «di» del menú «Apariencia»:

Modificando el ejemplo mencionado, construid una frase o verso que use elementos de las cuatro listas: sustantivos, verbos, adverbios y adjetivos. Os podéis encontrar con problemas de concordancia, como que el sustantivo que aparezca sea femenino y el adjetivo, masculino. Pensad cómo podríais solucionar este tipo de errores.

Cuando tengáis acabado el proyecto, guardadlo y compartidlo.