Karol

Lösungen

  1. einen Schritt zurücklegt.
    schritt
  2. 7 Schritte zurücklegt.
    schritt
    schritt
    schritt
    schritt
    schritt
    schritt
    schritt

    oder

    wiederhole 7 mal
        schritt
    *wiederhole
  3. Karol bis zur Wand laufen lässt - ohne, dass Karol dagegen rennt!
    solange nichtIstWand tue
        schritt
    *solange
  4. auf jedem Feld bis zur Wand Ziegel ablegt.
    solange nichtIstWand tue
        hinlegen
        schritt
    *solange
  5. auf jedem Feld (einschließlich dem, auf dem Karol zu Beginn steht) bis zur Wand Ziegel ablegt.
    schritt
    linksdrehen
    linksdrehen
    hinlegen
    schritt
    linksdrehen
    linksdrehen
    solange nichtIstWand tue
        hinlegen
        schritt
    *solange
  6. ein Schwimmbad baut. Ein Schwimmbad besteht aus 4 Wänden, die keine Lücken enthalten und 10 Ziegel lang sind. Die Wände sollen eine Höhe von 6 Ziegeln haben.
    wiederhole 24 mal
        wiederhole 9 mal
            hinlegen
            schritt
        *wiederhole
        linksdrehen
    *wiederhole
  7. in einer beliebig großen Welt (mindestens 3×3) ein Schwimmbad baut. Die Wände des Schwimmbades sollen sich am Rand der Welt befinden und ebenfalls eine Höhe von 6 Ziegeln haben.
    wiederhole 24 mal
        solange nichtIstWand tue
            hinlegen
            schritt
        *wiederhole
        linksdrehen
    *wiederhole
  8. in einer Spalte, an deren Anfang sich Karol befindet und in der wahllos einzelne Ziegel herumliegen, alle Ziegel mit einer Markierung versieht.
    
    
  9. in der gesamten Welt (mindestens 3×3) Markierungen auf den dort wahllos herumliegenden Ziegeln anbringt. (Auch hier liegen nirgends Ziegel übereinander!)
    Anweisung MarkiereReihe
      solange nichtIstWand  tue
        wenn nichtIstZiegel
          dann
            schritt
          sonst
            schritt
            markeSetzen
        *wenn
      *solange
    *Anweisung
    
    
    Anweisung SchrittMarkeSetzen
        Wenn istZiegel
          dann
            schritt
            markeSetzen
          sonst
            schritt
        *Wenn
    *Anweisung
    
    
    // Hier startet das Programm für Karol:
    MarkiereReihe
    LinksDrehen
    
    
    wiederhole solange nichtIstWand
    Wenn NichtIstWand
      dann
        SchrittMarkesetzen
        linksDrehen
        MarkiereReihe
        rechtsDrehen
    *wenn
    
    Wenn NichtIstWand
      dann
        SchrittMarkeSetzen
        rechtsDrehen
        MarkiereReihe
        linksDrehen
    *wenn
    *wiederhole
    • Sorge auch dafür, dass Spezialfälle funktionieren: Welten der Größe 2×1, 1×2, 5×1, 1×5
      
      
    • Warum macht der Spezialfall 1×1 wenig Sinn?
      Karol kann Steine nur aufheben, wenn er davor steht. In dieser Welt geht das nicht. Er kann nicht einmal überprüfen, ob er auf einem Stein steht, oder nicht.