Para poder usar gráficas de tortuga en Java necesitamos una biblioteca desarrollada por el Java Task Force de la ACM. Las siguientes indicaciones explican la manera de incorporar esta biblioteca en Eclipse y como utilizarla desde Java.
Descarga el archivo acm-jtf.jar al disco duro de tu computadora. Puedes colocarlo en el directorio que gustes, solo recuerda la ubicación exacta para el siguiente paso.
NOTA: No debes extraer o desempacar el contenido del archivo JAR.
En Eclipse, selecciona en la vista de “Package Explorer” el proyecto que deseas habilitar con gráficas de tortuga. En el menú emergente correspondiente (que se obtiene presionando el botón secundario del mouse) selecciona la opción Properties
. En la ventana de diálogo que aparece, en la sección izquierda selecciona Java Build Path
, y en la sección central selecciona la pestaña titulada Libraries
, tal como se muestra en la siguiente imagen:
Presiona ahora el botón Add External JARs...
que se encuentra en la sección derecha de la ventana. En la nueva ventana de diálogo, ubica y selecciona el archivo acm-jtf.jar
que descargaste en el punto anterior. Finalmente, presiona OK
para cerrar la ventana de “Properties”.
La clase edd.graphics.Square
que se muestra a continuación es un programa completo que dibuja un cuadrado usando gráficas de tortuga.
package edd.graphics; import acm.graphics.GTurtle; // Nuestra clase debe heredar de la clase GTurtle. public class Square extends GTurtle { // El método run() se invoca automáticamente al // inicio del programa. public void run() { // Establecer el tamaño (en píxeles) de la tortuga. setSize(25); // Bajar la pluma de la tortuga para que deje un // rastro al momento de desplazarse. penDown(); // Dibujar un cuadrado. for (int i = 0; i < 4; i++) { // Desplazar la tortuga 100 píxeles hacia adelante. forward(100); // Girar 90° a la derecha. right(90); } } public static void main(String[] args) { // Crear una instancia de la clase Square e iniciar // su ejecución invocando el método start. new Square().start(); } }
Para ver el resultado en Eclipse, se debe correr la clase usando la opción “Run As/Java Application” (o presionando Shift+Alt+X J
). Se debe abrir una nueva ventana similar a la que se muestra en la siguiente imagen:
Método | Descripción |
---|---|
void forward(double d) | Desplaza hacia adelante la tortuga d píxeles. |
void move( double dx, double dy) |
Desplaza la tortuga dx píxeles en el eje X (positivo es hacia la derecha) y dy píxeles en el eje Y (positivo es hacia abajo). Se recomienda usar forward() en lugar de este método.
|
void movePolar( double d, double a) |
Desplaza la tortuga usando coordenadas polares, en donde d es la distancia y a es el ángulo (norte=90, sur=270, este=0, oeste=180). Se recomienda usar forward() en lugar de este método.
|
void right(double a) | Gira la tortuga hacia la derecha a grados. |
void left(double a) | Gira la tortuga hacia la izquierda a grados. |
void setLocation( double x, double y) |
Establece, de manera absoluta, la posición de la tortuga sin dejar rastro. La coordenada (0, 0) es la esquina superior izquierda. |
double getX() | Regresa el valor de la coordenada x de la tortuga. |
double getY() | Regresa el valor de la coordenada y de la tortuga. |
void setDirection(double a) | Establece, de manera absoluta, la dirección a donde debe apuntar la tortuga (norte=90, sur=270, este=0, oeste=180). |
double getDirection() | Regresa la dirección a donde apunta actualmente la tortuga. |
void hideTurtle() | Esconde la tortuga. |
void showTurtle() | Muestra la tortuga. |
boolean isTurtleVisible() |
Regresa true si la tortuga está visible, o false en caso contrario.
|
void setSize(int t) | Establece el tamaño de la tortuga a t píxeles. |
int getTurtleSize() | Regresa el tamaño, en píxeles, de la tortuga. |
void setColor(Color c) | Establece a c como el color de la pluma de la tortuga. Ver el API de java.awt.Color. |
Color getColor() | Regresa el color de la pluma de la tortuga. Ver el API de java.awt.Color. |
void penDown() | Baja la pluma de la tortuga. En lo sucesivo la tortuga dejará un rastro al momento de desplazarse. |
void penUp() | Levanta la pluma de la tortuga. En lo sucesivo la tortuga no dejará rastro al momento de desplazarse. |
void setSpeed(double s) | Establece la velocidad de la tortuga a s. Los valores de s deben ser de 0.0 (lo más lento) a 1.0 (lo más rápido). |
double getSpeed() | Regresa la velocidad de la tortuga. |
void erasePath() | Borra todo la ruta trazada por la tortuga. La tortuga no cambia de posición ni de dirección. |