Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
phtg:fdif:karatutorial:labyrinthe [2024-06-26 09:04] – alte Version wiederhergestellt (2024/06/24 13:34) hofphtg:fdif:karatutorial:labyrinthe [2024-06-27 14:20] (aktuell) – [Mehr Bedingungen] hof
Zeile 33: Zeile 33:
 </code> </code>
 ++++ ++++
 +
 ### Aufgabe 7 ### Aufgabe 7
-Schwieriger wird es, wenn je nach Situation nach links statt nach rechts gewendet werden soll. Wie wird sich Kara mit dem Code von Aufgabe 6 bewegen? Findet Kara zum Pilz? Was musst du ändern, um ins Ziel zu kommen?+Schwieriger wird es, wenn je nach Situation nach links statt nach rechts gewendet werden soll. Wie wird sich Kara mit dem Code von Aufgabe 6 bewegen? Findet Kara zum Pilz? Was musst du ändern, um ins Ziel zu kommen? Denk dran, dass sich Verzweigungen (`if`) und Schleifen (`while`) beliebig ineinander verschachteln lassen!
  
 <HTML><script type="text/p5"> <HTML><script type="text/p5">
Zeile 73: Zeile 74:
 </code> </code>
 ++++ ++++
- 
 ### Mehr Bedingungen ### Mehr Bedingungen
 Damit wir Kara nicht die ganze Zeit umdrehen müssen, können wir sie auch zusätzlich fragen, ob links oder rechts von ihr ein Baum ist: Damit wir Kara nicht die ganze Zeit umdrehen müssen, können wir sie auch zusätzlich fragen, ob links oder rechts von ihr ein Baum ist:
Zeile 89: Zeile 89:
         if (kara.treeLeft()) {         if (kara.treeLeft()) {
             kara.turnRight();             kara.turnRight();
-        } else if (kara.treeRight()) { 
-            kara.turnLeft(); 
         } else {         } else {
-            // Umdrehen! 
-            kara.turnLeft(); 
             kara.turnLeft();             kara.turnLeft();
         }         }
Zeile 102: Zeile 98:
 </code> </code>
 ++++ ++++
 +
 ### Aufgabe 9 ### Aufgabe 9
 Reicht das bereits, um aus jedem Labyrinth hinauszufinden? Zu früh gefreut, hier wartet die nächste Herausforderung! Überlege dir zuerst, wie du aus einem Labyrinth finden würdest, bevor du dich an den Code wagst! Reicht das bereits, um aus jedem Labyrinth hinauszufinden? Zu früh gefreut, hier wartet die nächste Herausforderung! Überlege dir zuerst, wie du aus einem Labyrinth finden würdest, bevor du dich an den Code wagst!
Zeile 150: Zeile 147:
     * Mehr Ideen: [[wpde>Lösungsalgorithmen_für_Irrgärten]]     * Mehr Ideen: [[wpde>Lösungsalgorithmen_für_Irrgärten]]
 ++++ ++++
 +### Aufgabe 10 (Challenge)
  
 +Finde aus dem untenstehenden Labyrinth!
  
 +<HTML>
 +<script type="text/p5" data-preview-width="600" data-height="600">
 +let game = KaraWorld.create(
 +    `TTTTTTTTTTTTTTTTTT
 +                    T
 +          >         T
 +                    T
 +     TTT TTTTTTTTTTTTTT
 +                    T
 +     TTTTTTTT TTTTTTTTT
 +                  T T
 +     TTT TTTTTTTTTTTT T
 +                    T
 +     TTTTTTTT TTTTTTTTT
 +                  T T
 +     TTT TTTTTTTTTTTT T
 +                    T
 +     TTTTTTTT TTTTTTTTT
 +                    T
 +     TTTTTTTTTTTTMTTTTT`, 25, false, true);
  
 +function setup() {
 +  let size = game.grid.gridSize();
 +  createCanvas(size.x * 25, size.y * 25);
 +  // 100ms delay, up to 200 commands
 +  game.executeKara(100, 'my_kara', 300);
 +}
 +
 +function draw() {
 +  game.draw(25);
 +}
 +</script>
 +</HTML>
 +
 +++++Lösung|
 +<code javascript>
 +// Wand suchen
 +while (!kara.treeFront()) {
 +  kara.move(); ;
 +}
 +kara.turnLeft()
 +
 +// Folge der rechten Wand
 +while (!kara.mushroomFront()) {
 +    if (!kara.treeRight()) {
 +        kara.turnRight();
 +        kara.move();
 +    } else if (!kara.treeFront()) {
 +        kara.move();
 +    } else {
 +        kara.turnLeft();
 +    }
 +}
 +</code>
 +++++
  • phtg/fdif/karatutorial/labyrinthe.1719392655.txt.gz
  • Zuletzt geändert: 2024-06-26 09:04
  • von hof