Meta: Crea una brújula para mostrar la dirección de la hormiga.
Vocabulario: pd, ht, freezebg, clean, setpos, bk (back), settext1, heading, show, pos

Notas En este proyecto, necesitamos una segunda tortuga para dibujar y redibujar una línea que actúa como la aguja de una brújula, de tal manera que la aguja siempre apunte en la dirección en la que se mueve la hormiga.
- Crea una nueva tortuga y nómbrala compass (brújula) para dibujar las líneas de la aguja de una brújula.
- Dibuja la figura de una brújula. O presiona el botón Figuras o Shapes en la página web de este proyecto y copia y pega la figura de brújula de este proyecto en tú proyecto. También puedes colocar la brújula en un figura en el Centro de Figuras, luego colocar la figura en el tortuga brújula y estamparla. De esta forma el punto central de la brújula tortuga se ubicará exáctamente en el centro de la brújula, que es donde debe estar.
Usa las herramientas de dibujo o una caja de texto para etiquetar 4 puntos de la brújula con 0, 90, 180 y 270 grados.
- Si tu tortuga compass tiene la figura de la brújula, haz que tenga de nuevo la figura de una tortuga. En el centro de comandos, escribe:
setsh 0
y presiona Enter/Return.
(Si dibujaste tu propia figura de una brújula, asegúrate que la tortuga brújula está ubicada exáctamente en el centro de la brújula).
- El el centro de comandos, escribe:
pd ht
y presiona Enter/Return.
pd significa "pen down" (lápiz abajo) para que la tortuga vaya dibujando mientras se mueve.
ht significa "hide turtle" (oculta tortuga) para que la tortuga sea invisible.
- Crea una caja de texto. Tendrá el nombre text1.
Ubica la Herramienta del ojo en la caja de texto para abrir su caja de diálogo. Haz clic en Show Name (muestra nombre) para desmarcarla y así esconder el nombre de la caja de texto. Esta caja de texto será usada para mostrar el rumbo de la tortuga.
- En el centro de comandos, escribe:
freezebg (que significa "freeze background" congela el fondo)
y presiona Enter/Return. Este comando significa que el fondo no podrá ser borrado. No quieres que el "pasto" o la brújula de rumbo sean borradas.
- En el centro de comandos, escribe:
show pos
y presiona Enter/Return.
show pos significa "show position" (muestra posición). La computadora reportará dos números en la siguiente línea del centro de comandos, que indican las coordenadas x e y de la tortuga compass.
- En el procedimiento go, clean borra todo lo dibujado sobre el fondo congelado. Sólo deseamos borrar la línea que será contínuamente redibujada para mostrar el rumbo de la "hormiga".
- En este ejemplo, setpos [-195 -79] da la tortuga compass un punto de inicio que es el centro de la brújula. Setpos significa "set position" (fija posición). El primer número es la coordenada x y le dije a la tortuga cuánto a la derecha o izquierda estar. Un número negativo es una posición a la izquierda del centro. El segundo número le dice a la tortuga cuánto, hacia arriba o abajo, ir. Un número negativo indica una posición por debajo del centro.
En lugar de usar estos números, usa los dos número que la computadora reportó en el centro de comandos indicando las coordenadas x e y de la tortuga t2.
- Fd 42 bk 42 dice a la tortuga compass que dibuje una línea y regrese a su posición inicial. Mientras el rumbo va cambiando con el control direction, la línea antigua será borrada con clean justo antes de que la nueva línea sea dibujada. Eso produce el efecto de una aguja que gira o da vueltas, aunque es solamente una línea que está siendo continuamente borrada y redibujada en una nueva posición.
- Settext1 heading dice a la caja de texto llamada text1 que borre cualquier contenido e inserte el número que es el rumbo de la tortuga. En este procedimiento, ambas tortugas (t1 y compass) tienen el mismo rumbo. Cuando el control direction se mueve, el número en la caja de texto cambia continuamente. Si comparas este número con el número en el control, verás por ejemplo que un rumbo de -90 es lo mismo que un rumbo de 270.
¿Qué pasa si?
¿Qué pasa con el número en la caja de texto cuando pones la dirección en -90?
Desafío
¿Puedes hacer una brújula que sea más grande o más pequeña que esta y cambiar el procedimiento go para que la aguja siempre alcance el borde exterior del círculo de la brújula?
|