Roboterprogrammierung

Aufgaben Auswahlbefehle

Scratch Bertl

Die einzelnen Projekte beinhalten unterschiedliche Stages (Bühnenbilder), jeweils von leicht bis schwer:

1. Hürdenlauf (engl. Steeplechase):
Bertl soll in den einzelnen Stages (Bühnenbilder) jeweils die Mauern überspringen, wobei er nicht weiß wie weit diese voneinander entfernt sind. Verwenden Sie den REPEAT-Befehl mit 10 Durchläufen, wobei im Schleifenkörper Ihr Algorithmus abgearbeitet werden soll. Laden Sie Ihre Ergebnisse ins Studio: Hürdenlauf

2. Tapezierer (engl. Carpeter):
Bertl soll einen Beeper ablegen, dann und nur dann, wenn er von drei Seiten mit Mauern umgeben ist. Verwenden Sie den REPEAT-Befehl mit 10 Durchläufen, wobei im Schleifenkörper Ihr Algorithmus abgearbeitet werden soll. Laden Sie Ihre Ergebnisse ins Studio: Tapezierer

3. DreheBertlNachRechts: Im Rahmen eines größeren Projekts (Lost Beeper Mine) wird die Funktion DreheBertlNachRechts() benötigt, die folgende Aufgabe lösen soll: Egal in welche Richtung der Roboter Bertl gerade schaut, soll er nach Aufruf der Funktion DreheBertlNachRechts() nach rechts (Osten, East) schauen. Anm.: Aufgrund des eingebauten Kompass werden die folgenden Variablen entsprechend gesetzt:

/media/uploads/fpucher/facing.png Laden Sie Ihre Ergebnisse ins Studio: DreheBertlNachRechts

4. Aufgabe: Fallauswahl mit Überprüfung

Nehmen wir an, wir führer arbeiten am verlorenen Beeper-Mine Projekt durch. Ein sehr wichtiger Meilenstein ist einen Weg zu finden, wo alle folgenden Bedingungen erfüllt sind:

  • Bertl schaut nach Norden,
  • Bertl's rechte Seite ist blockiert,
  • Bertll's linke Seite ist blockiert,
  • Bertl steht vor keiner Mauer, und
  • Es gibt mindestens einen Beeper an der Ecke.

Welche Fälle haben wir zu überprüfen?
Was soll er tun?
Wie soll der Befehl (Funktion) heißen?

5. Aufgabe: exactlyTwoBeepers - Ausgansprojekt Beeper Manager:

Angenommen, ein Roboter der sich in einer Situation befindet, in dem er bestimmen muss, ob es genau zwei Beeper auf der aktuellen Position (Ecke) gibt, auf der er sich befindet. Wir möchten die Variable exactlyTwoBeepers so setzen, dass sie auf 1 (true) gesetzt wird, wenn das so ist, und andernfalls auf 0 (false). Nehmen wir an, dass dies in einer Replanter-Aufgabe benötigt wird.

Wie können wir das schreiben?

Wir können das so schreiben, wenn wir einen Beeper zu einer Zeit aufheben und dann fragen, ob es noch mehr gibt. Wir dürfen nicht vergessen, alle Beeper zurück zu legen, die wir aufgehoben haben. Beachten Sie, dass, wenn wir zwei Beeper aufgehoben haben, müssen wir noch fragen, ob es noch mehr gibt, um zu bestimmen, ob es genau zwei Beeper auf der aktuellen Ecke sind.

6. Aufgabe: followWallRight

Scratch Bertl


All wikipages