Meta: Una tortuga sigue a otra alrededor de un polígono.
Vocabulario: pu, wait, towards, distance, everyone, home
to polygon
t1, pd
setc whatcolor
setpensize howthick
repeat #sides [fd howbig rt 360 / #sides]
end
to polygon-chase
t1, pd
setc whatcolor
setpensize howthick
fd howbig rt 360 / #sides
t2, pu
towards "t1
wait 4
fd distance "t1
wait 4
end
to reset
everyone [home]
cg
end
Notas - Crea una segunda tortuga (t2). Esta tortuga seguirá a la primera (t1).
Escribe un procedimiento polygon-chase como se indica.
- t1, significa que estámos hablándole a la primera tortuga. (también podríamos escribir: tto "t1 - eso significa talkto "t1 es decir, habla con t1).
- Wait 3 es "espera 3/10 de segundo". Esto alenta a las tortugas para que podamos ver lo que están haciendo.
- Pu es "pen up" (lápiz arriba). (Una tortuga recién creada empieza con su lápiz arriba, así que este comando no es realmente necesario, pero nos recuerda de una diferencia entre t1 y t2: t1 es la tortuga que dibuja; t2 es la tortuga que sigue.)
- towards "t1 pone el rumbo de t2 para que apunte hacia t1.
- fd distance "t1 mueve t2 hacia adelante una distancia igual a la distancia entre ella y t1. En este caso, ya que t2 apunta hacia t1 antes de que ésta se empiece a mover, t2 estará ahora justo encima de t1.
- Cada vez que el procedimiento polygon-chase se repite, primero t1 se mueve hacia el siguiente vértice (esquina) usando los valores de los controles y luego t2 se mueve completamente basándose en los movimientos de t1.
- Crea un botón y nómbralo polygon-chase. Ponlo en many times (muchas veces). ¡Intenta usarlo! Haz clic en el botón nuevamente para detener la acción.
- En el procedimiento startup modificado, everyone [home] regresa ambas tortugas al centro de la página, mirando directamente hacia arriba.
¿Qué pasa si?
Intenta diferentes números luego de wait. (¿Cómo se mueven las tortugas si el primer comando wait usa un valor de entrada más grande que el segundo wait? ¿Cómo se mueven las tortugas si el primer comando wait usa una entrada menor que el segundo comando wait?)
Desafío
¿Puedes corregir el procedimiento polygon-chase para que la tortuga t1 siga a la tortuga t2?
|