Java -Turtle Grafik - kennt sich jemand damit aus?

balle12

Mitglied
Hallo, ich muss mit der Turtle Grafik arbeiten, verstehe es aber nicht so richtig .
Deswegen wollte ich fragen, ob das was ich bisher habe richtig ist und was ich ändern muss.

Aufgabe 1:
Zustand der Schildkröte. (private) Attribute double x, double y, double angle und boolean down (Ausrichtung des Stifts) Getter und Setter MEthoden
Das ist was ich dazu habe
Java:
public class TurtleState {

    // Inintialisierung der Attribute
    private double x; // Position
    private double y; // Position
    private double angle; // für Ausrichtung
    private boolean down; // Ausrichtung des Stifts

    // Getter - Methoden
    public double getX() {
        return x;
    }

    public double getY() {
        return y;
    }

    public double getAngle() {
        return angle;
    }

    public boolean getDown() {
        return down;
    }

    // Seitter-Methoden

    public void setX(double neuesX) {
        this.x = neuesX;
    }

    public void setY(double neuesY) {
        this.y = neuesY;
    }

    public void setAngle(double neuerAngle) {
        this.angle = neuerAngle;
    }

    public void setDown(boolean neuDown) {
        this.down = neuDown;
    }

}

Aufgabe 2: Klasse turtle programmieren , welche die oben genannten Befehle empfängt und im Attribut TurtleState state soll die Zustandsänderung stattfinden (--> Ich habe keine Ahnung wie das geht oder was genau damit gemeint ist :( ggf. zeichnet sie außerdem eine Linie in das grafische AUsgabefenster LineFrame frame (-> Auch hier habe ich keine Ahnung wie ??

Was ich habe :
Java:
public class Turtle {
double x,y,alpha;
boolean down;
    public Turtle(LineFrame lineFrame) {
        this(lineFrame, 0.5, 0.5, Math.PI / 2);
    }

    public Turtle(LineFrame lineFrame, double initX, double initY, double initAngle) {
        down=true;
       
    }
    public void penDown() {
    down=true;
    }

    public void penUp() {
        down=false;
    }

    /**
     * Bewegt die Schildkröte um stepSize in die blickrichtung der Schildkröte.
     * StepSize hat dabei einen Wert zwischen 0 und 1, wobei 1 gleich einer
     * Bildschrimlänge entspricht.
     *
     * @param stepSize
     */
    public void forward(double stepSize) {
       
   
      }
    public void turn(double angle) {
       
        alpha=alpha-Math.PI*angle/180; //Umrechnung in Grad

    }
   
   
   
   
}
Da fehlt noch eine Menge ........ das weiß ich , ich bin mir nicht mal sicher, ob meins stimmt

3. Aufgabe

Kochkurve zeichnen lassen (am besten rekursiv) in KochKurve.java

Da ich die anderen nicht habe , kann ich das schlecht machen :((

Ich bin am verzweifelt
 

balle12

Mitglied
achso und hier das LineFrame

Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.AffineTransform;
import java.awt.geom.Path2D;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;

/**
* Diese Klasse stellt ein GUI-Fenster bereit, in dem Linien dargestellt werden koennen.
*
* Die Darstellung erfolgt vektorbasiert und wird bei einer Groessenaenderung des
* GUI-Fensters automatisch skaliert.
*
* @author pscb
* @version 0.2
*/
public class LineFrame {

    private final double SCREEN_SCALE = 0.75;

    private JPanel drawPanel;
   
    private int currentPathLength = 0;
    private final int MAXIMUM_PATH_LENGTH = 1000;
   
    private Vector<Path2D> pathList = new Vector<Path2D>();
   
    private AffineTransform transformation = new AffineTransform();

    private Object mouseClicked = new Object();

    /**
     * Erzeugt ein GUI-Fenster in dem Linien dargestellt werden koennen.
     * Die Koordinate der linken oberen Ecke ist (0.0, 0.0), die der rechten unteren
     * Ecke ist (1.0, 1.0).
     *
     * @param title            Titel des GUI-Fensters
     */
    public LineFrame(String title) {
        JFrame frame = new JFrame(title);
       
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int size = (int)Math.min(d.width * SCREEN_SCALE, d.height * SCREEN_SCALE);
        frame.setSize(size, size);
        frame.setLocation((d.width - frame.getSize().width) / 2,
                (d.height - frame.getSize().height) / 2);
       
        pathList.add(0, new Path2D.Double());
       
        drawPanel = new JPanel(false) {
            private static final long serialVersionUID = 1L;

            public void paint(Graphics g) {
                Graphics2D g2 = (Graphics2D)g;
                                                       
                g2.setColor(Color.WHITE);
                g2.fillRect(0, 0, getWidth(), getHeight());
               
                double scaleX = getWidth() / 1.0;
                double scaleY = getHeight() / 1.0;
                transformation.setToScale(scaleX, scaleY);

                g2.setColor(Color.BLACK);
                synchronized(pathList) {
                    for (Path2D path : pathList) {
                        g2.draw(transformation.createTransformedShape(path));
                    }
                }
            }
        };
        frame.add(drawPanel);

        drawPanel.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                synchronized (mouseClicked) {
                    mouseClicked.notify();
                }
            }
        });
       
        frame.setVisible(true);
    }

    /**
     * Zeichnet eine duenne schwarze Linie.
     * 
     * @param x0    x-Startkoordinate
     * @param y0    y-Startkoordinate
     * @param x1    x-Endkoordinate
     * @param y1    y-Endkoordinate
     */
    public void drawLine(double x0, double y0, double x1, double y1) {
        synchronized(pathList) {
            if (currentPathLength > MAXIMUM_PATH_LENGTH) {
                currentPathLength = 0;
                pathList.add(0, new Path2D.Double());
            } else {
                ++currentPathLength;
            }
            Path2D path = pathList.get(0);   
            path.moveTo(x0, y0);
            path.lineTo(x1, y1);
        }
        drawPanel.repaint();
    }
   
    /**
     * Loescht alle Linien.
     */
    public void clear() {
        synchronized(pathList) {
            pathList.clear();
            pathList.add(0, new Path2D.Double());
            currentPathLength = 0;
        }
        drawPanel.repaint();
    }
   
    /**
     * Wartet, bis eine Mausklick in das GUI-Fenster erfolgt.
     */
    public void waitMouseClicked() {
        try {
            synchronized (mouseClicked) {
                mouseClicked.wait();
            }
        } catch (InterruptedException e) {
        }
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
laxla123 If-else Java Java Basics - Anfänger-Themen 4
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
S Substring in java Java Basics - Anfänger-Themen 3
Z Operatoren Java Applikation Java Basics - Anfänger-Themen 8
Tw1Z Erste Schritte Sort in java Java Basics - Anfänger-Themen 2
sasnitzer java augensumme von zwei würfeln ist 1 Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben