Estás en:   ArielOrtiz.info > Estructura de datos > Gráficas de tortuga en Java

Gráficas de tortuga en Java

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.

Instalación

Escribiendo un programa con gráficas de tortuga

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étodos de la clase GTurtle

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.

Documentación de la biblioteca del Java Task Force