Komplexe Aufgaben

Hier einige Aufgaben, bei denen Du wahrscheinlich länger überlegen musst. Vielleicht hilft es Dir, erst ein Struktogramm zu erstellen.

Aufräumen

Erzeuge im Direkteingabemodus eine Karol-Welt, in der zufällig viele Ziegel verteilt liegen. Es dürfen auch mehrere Ziegel übereinander liegen. (Du kannst eine solche Welt abspeichern, damit Du sie nicht jedes Mal neu eingeben musst.)

Programmiere Karol so, dass er alle Ziegel, die in der Welt liegen, einsammelt. Schreibe das Programm so, dass es mit jeder Welt funktioniert, in der Ziegel herum liegen. Probiere es mit verschiedenen Welten aus!

Aufräumen mit Traglastbehinderung

Schalte nun ein, dass die Anzahl der Ziegel kontrolliert wird, die Karol gleichzeitig tragen kann (unter Einstellungen -> Karol).

Programmiere Karol so, dass er wieder eine Welt aufräumt, diesmal aber alle Ziegel in einer Ecke stapelt. Schreibe das Programm so, dass es mit jeder Welt funktioniert, in der Ziegel herum liegen. Probiere es mit verschiedenen Welten aus!

Auf einer Burgmauer laufen

Erzeuge im Direkteingabemodus eine Karol-Welt mit einer Burgmauer aus Quadern. Die Mauer soll ruhig einige Ecken und Kanten haben.

Programmiere Karol so, dass er auf der Burgmauer entlang läuft. Schreibe das Programm so, es mit allen Burgmauern funktioniert. Probiere es mit verschiedenen Burgmauern aus!

Aus einem Labyrinth heraus finden

Erzeuge im Direkteingabemodus eine Karol-Welt mit einem Labyrinth aus Quadern. Das Labyrinth soll einen Ausgang haben, der mit Ziegel „zugemauert“ ist. Komplizierte Labyrinthe haben außerdem

  • Sackgassen,
  • Wege, die im Kreis herum führen und
  • Plätze, die mehr als zwei Felder lang und breit sind.

Programmiere Karol nun so, dass er, wenn er irgendwo in einem solchen Labyrinth steht, den Ausgang findet. Schreibe das Programm so, dass es mit allen „fairen“ Labyrinthen funktioniert. Probiere es mit verschiedenen Labyrinthen aus!

Zuletzt geändert am 22. Februar 2010 um 16:40 Uhr