In diesem Programmierkurs sollst du einen Kernkraftwerk-Rescue-Roboter erstellen, der in der Lage ist, bei einem Atomunfall in einem Kernkraftwerk die gefährlichen Arbeiten zu übernehmen. Bis dahin ist aber noch ein weiter Weg … Zunächst lernst du im Robo-Trainingsgebäude den Roboter zu steuern. Dabei experimentieren wir vorerst mit harmlosen Schrauben und nicht mit radioaktiv verseuchten Gegenständen.
Objekte in Greenfoot erzeugen können, ihre Dienste erkennen und nutzen können.
1. Lade die Rohfassung des Robot-Projekts (ReaktorRobot_Szenario_Roh) herunter und benenne den Ordner um (z.B. in ReaktorRobot_Arbeitsfassung). Lade anschließend das Szenario in Greenfoot.
2. Erzeuge nun einen zweiten Roboter vom Typ AB1 (rechte Maustaste auf AB1
, dann new AB1())
, setze ihn in den Eingang des Trainingsgebäudes (siehe Bild links) und lasse ihn die abgelegten Schrauben im Raum unten links aufnehmen.
Rufe anschließend bei beiden Robotern nacheinander jeweils die Anweisung getAnzahlSchrauben()
auf. Was passiert?
3. Was geschieht, wenn du einen Roboter aufforderst eine Schraube abzulegen, obwohl er keine bei sich hat oder eine Schraube abzulegen, wenn schon eine da liegt?
4. Wie kannst du neue Wände erzeugen und in die Welt legen? (Was passiert, wenn du beim Ablegen die Shift-Taste gedrückt hältst?) Kannst du sie überall hinbauen? Kannst du Roboter überall hinziehen?
5. Um neue Gegenstände zu erzeugen, musst du angeben, welcher Art dein Gegenstand sein soll. Rufe new Gegenstand(String name)
auf und gib in das Eingabefeld "Schraube"
ein (incl. Anführungszeichen). Probiere auch noch aus weitere Gegenstände zu erzeugen (welche es gibt, steht im Eingabefeld).
6. Rufe den Befehl istAufSchraube()
an jedem Roboter auf. Welche Antworten sind möglich?
7. Erprobe alle Fähigkeiten der Roboter.
Was musst du tun, damit ein Roboter auf die Anfrage istVorratLeer()
die Antwort false
liefert?
Level 1
Alle Arbeitsaufträge in diesem Namensraum basieren auf den Materialien von Schaller/Zechnall
zur Informatikfortbildung Baden-Württemberg 2016 und stehen unter einer CC-BY-SA-NC Lizenz.