Meta: Cambia las condiciones a intervalos.
Vocabulario: color, pensize
to changing_spiral
make "count 1
setc whatcolor
setpensize howthick
spiral 10 110
end
to spiral :length :pitch
pd
if :length > howbig [stop]
make "count :count + 1
if :count > interval
[setc color + 1
setpensize pensize + 1
make "count 1]
fd :length rt angle
carefully [note :pitch 3] [ ]
spiral :length + howtight :pitch - 1
end
to reset
cg
end
Notas En este proyecto, el color y grosor de las líneas cambia solamente a intervalos que fijamos con el control interval.
- Usamos una nueva variable llamada count que registra los intervalos. Necesitamos darle a count un valor inicial de 1. Así que este proyecto crea un procedimiento llamado changing_spiral para poner los valores iniciales de count, color, y pensize. Luego llama al procedimiento spiral (que tiene dos entradas en este proyecto).
- Cuando el valor de count se hace más grande que el número en el control interval, tres cosas ocurren:
setc color + 1 significa: incrementa el color de la tortuga en 1;
setpensize pensize + 1 significa: incrementa el grosor de la línea en 1;
make "count 1 vuelve a poner en 1 el valor de count.
Así que mientras length y note cambian cada vez que spiral es llamada, el color y el grosor de las líneas cambian sólamente a intervalos fijados en el control interval.
¿Qué pasa si?
Intenta diferentes valores para el control interval.
Desafío
¿Puedes modificar el proyecto para que el ángulo cambie a intervalos? (Ver Cuadrados 6).
|