Lernpfad:Lerntheke Marsrover/14: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Karte|Hilfe=6}}
{{Karte|Hilfe=6}}


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''.
Der Marsrover besitzt verschiedene 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.
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.
[[Datei:Rover Methoden.jpg|center]]
 
{{Kasten|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 immer offen neben dich.|Farbe={{Farbe:Info}}}}


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


{| {{prettytable}}
{| {{prettytable}}
|+ Anfragen und Aufträge des Mars-Rovers
|+ Aufträge des Mars-Rovers
|-
|-
|''Auftrag''
|''Auftrag''
Zeile 43: Zeile 45:
|}
|}


{{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.
# Erstelle ein neues Programm, dass den Rover die Marke auf der Karte unten einsammeln lässt.
# Erstelle ein neues Programm, das den Rover das Gestein auf der Karte unten analysieren lässt.
{{Aufgabe:End}}
{{Aufgabe:End}}
{{Roverkarte|.\n.\n.\n...R\n.\n..hhhhhhhh\n..........Mh\n.......hhh}}
{{Roverkarte|.\n.\n.\n...R\n.\n..hhhhhhhhhh\n..........gh\n.......hhhhh}}
 
{{Lösung:Start}}
'''1)'''
<syntaxhighlight lang="Java">
    public void act() {
        fahre();
        fahre();
        fahre();
        setzeMarke();
    }
</syntaxhighlight>
 
'''2)'''
<syntaxhighlight lang="Java">
    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");
    }
</syntaxhighlight>
 
'''3)'''
<syntaxhighlight lang="Java">
    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();
    }
</syntaxhighlight>
{{Lösung:End}}


{{Inhalt/Lerntheke}}
{{Inhalt/Lerntheke}}

Aktuelle Version vom 10. November 2020, 11:47 Uhr

Die Fähigkeiten des Rovers

Der Marsrover besitzt verschiedene 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.

Rover Methoden.jpg

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 immer offen neben dich.

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

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, das 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();
    }