Lernpfad:Lerntheke Marsrover/14: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 43: Zeile 43:
|}
|}


{{Aufgabe:Start}}
{{Aufgabe:Start|Icon=Greenfoot Rover.png}}
# Programmiere den Rover so, dass er drei Felder nach vorne fährt und dort eine Marke ablegt.
# Programmiere den Rover so, dass er drei Felder nach vorne fährt und dort eine Marke ablegt.
# Ändere das Programm so ab, dass der Rover ein Quadrat der Kantenlänge vier abfährt und an jeder Ecke eine Marke platziert.
# Ändere das Programm so ab, dass der Rover ein Quadrat der Kantenlänge vier abfährt und an jeder Ecke eine Marke platziert.

Version vom 17. September 2020, 07:49 Uhr

Die Fähigkeiten des Rovers

Der Marsrover besitzt verscheidene Fähigkeiten, die in Java als Methoden implementiert sind. Er kann zum Beispiel fahren oder Gestein analysieren. Die Methoden lassen sich in zwei Arten einteilen: Aufträge und Anfragen.

In Greenfoot kannst du dir mit einem Rechtsklick auf ein Rover-Objekt die Fähigkeiten des Rovers anzeigen lassen.

Auf Seite 25 im Buch findest du eine Übersicht mit Beschreibungen der Methoden, die der Rover anbietet und von dir bei der Programmierung genutzt werden können. Am besten legst du das Buch bei der Arbeit immmer offen neben dich.

Für den Anfang brauchst du vor allem die folgenden Aufträge:

Anfragen und Aufträge des Mars-Rovers
Auftrag void fahre()
Der Rover bewegt sich ein Feld vorwärts.
Auftrag void drehe(String richtung)
Der Rover dreht sich nach "rechts" oder "links".
Auftrag void analysiereGestein()
Der Rover analysiert (und entfernt) das Gestein an seiner Position, falls eins vorhanden ist.
Auftrag void setzeMarke()
Der Rover legt eine Markierung ab.
Auftrag void entferneMarke()
Der Rover entfernt die Marke an seiner Position, falls eine vorhanden ist.
Greenfoot Rover.png
Arbeitsauftrag
  1. Programmiere den Rover so, dass er drei Felder nach vorne fährt und dort eine Marke ablegt.
  2. Ändere das Programm so ab, dass der Rover ein Quadrat der Kantenlänge vier abfährt und an jeder Ecke eine Marke platziert.
  3. Erstelle ein neues Programm, dass den Rover das Gestein auf der Karte unten analysieren lässt.
Kartendaten:
".\n.\n.\n...R\n.\n..hhhhhhhhhh\n..........gh\n.......hhhhh"
Lösung

1)

    public void act() {
        fahre();
        fahre();
        fahre();
        setzeMarke();
    }

2)

    public void act() {
        fahre();
        fahre();
        fahre();
        fahre();
        setzeMarke();
        drehe("rechts");
        fahre();
        fahre();
        fahre();
        fahre();
        setzeMarke();
        drehe("rechts");
        fahre();
        fahre();
        fahre();
        fahre();
        setzeMarke();
        drehe("rechts");
        fahre();
        fahre();
        fahre();
        fahre();
        setzeMarke();
        drehe("rechts");
    }

3)

    public void act() {
        drehe("rechts");
        drehe("rechts");
        fahre();
        fahre();
        drehe("links");
        fahre();
        fahre();
        fahre();
        drehe("links");
        fahre();
        fahre();
        fahre();
        fahre();
        fahre();
        fahre();
        fahre();
        fahre();
        fahre();
        analysiereGestein();
    }