2. Guía 2: autómatas

2.4. Impredecibilidad

2.4.1. Introducción

En el menú «Operadores» de Snap! hay un bloque denominado «Número al azar entre X e Y» que nos facilita introducir la aleatoriedad en nuestros programas.

Veámoslo con un ejemplo sencillo. Haremos un programa que repita mil veces «dibujar una pequeña línea» usando un bucle, y que después realice un ángulo aleatorio (por ejemplo, entre –45 y 45°). También haremos que rebote si el personaje llega al límite del escenario. A continuación tenéis el sencillo código de este programa y la visualización de su ejecución. Cada vez que lo ejecutemos, el resultado final será diferente: hemos generado impredecibilidad.

Código del programa

En esta clase de proyectos es interesante no solo el resultado final: el mismo proceso de ejecución puede ser una parte de la obra, ya que generamos movimiento mientras la producimos. En la guía 4 hablaremos con detalle del movimiento.

Volviendo al ejemplo anterior, hemos hecho que el giro sea aleatorio, pero podríamos añadir impredecibilidad con otros parámetros. Repetiremos el programa, pero en esta ocasión haciendo que la distancia que avanza también sea aleatoria (entre 5 y 50 pasos) y que el color de cada segmento también sea aleatorio (entre 0-rojo y 170-magenta).

Fijémonos en que al construir el programa, lo que hacemos en realidad es definir las reglas de producción de la obra:

  1. Repite 1.000 veces.
  2. Avanza un número aleatorio de pasos entre 5 y 50.
  3. Gira un número aleatorio de grados entre –45 y 45.
  4. Fija el color en un número entre 0 y 170.
  5. Rebota si tocas los márgenes.
Código del programa