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:05] 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 79: Zeile 79:
   * `kara.treeLeft()` trifft zu, falls links von Kara (in Laufrichtung) ein Baum steht.   * `kara.treeLeft()` trifft zu, falls links von Kara (in Laufrichtung) ein Baum steht.
   * `kara.treeRight()` trifft zu, falls links von Kara (in Laufrichtung) ein Baum steht.   * `kara.treeRight()` trifft zu, falls links von Kara (in Laufrichtung) ein Baum steht.
 +
 ### Aufgabe 8 ### Aufgabe 8
 Schreibe die Lösung zu Aufgabe 7 um, indem du die neuen Bedingungen einbaust! Schreibe die Lösung zu Aufgabe 7 um, indem du die neuen Bedingungen einbaust!
Zeile 146: 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.1719392702.txt.gz
  • Zuletzt geändert: 2024-06-26 09:05
  • von hof