Español   Ejemplos: Multi-tortuga

Cristales de hielo simétricos

En este ejemplo generamos trayectorias aleatorias en las que solamente se permiten giros de múltiplos de 60 grados. Este modelo es utilizado por doce tortugas agrupadas en en seis parejas, que empiezan separadas 60 grados y una dibuja la imagen especular de la otra: si una gira a la derecha, la otra lo hace a la izquierda.

La tortuga 0 hace de "guía", y detiene el bucle si la trayectoria aleatoria se aleja demasiado del origen. ¿Nunca salen dos figuras iguales!

para empezar
# Inicializamos papel, lapiz y tortuga
  reponetodo pontamañopantalla [400 400]
  poncolorpapel negro poncolorlapiz verde subelapiz ocultatortuga
  mientras [cierto] [
    pontortuga 0 centro avanza 32 limpia
    haz "paridad 1 haz "borde "cierto
    repitepara [n 1 12] [
      pontortuga :n subelapiz centro
      ponrumbo 15+(:n * 30)
      avanza 32 bajalapiz]
        mientras [:borde] [
        repite 16 [coponieve] ]
    espera 222]
fin

para prueba
  pontortuga 0
  giraizquierda :dir avanza :long
  si (distancia [0 0]) > 180
   [retrocede :long giraderecha :dir devuelve "cierto]
   [devuelve "falso]
fin

para coponieve
  haz "dir 60 * (azar 6)
  haz "long 1+azar 32
  si prueba [haz "borde "falso alto]
  repitepara [n 1 12] [
    pontortuga :n
    poncolorlapiz 6.5 + (:paridad/2) # 6 o 7
    giraizquierda :paridad * :dir avanza :long
    haz "paridad cambiasigno 1 * :paridad]
fin


Probar este programa ahora

Procedimiento a ejecutar:
empezar