Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:kara:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
api:documentation:kara:start [2023/02/24 22:19] – [Welt erstellen] Martin Pabstapi:documentation:kara:start [2023/02/24 22:36] (aktuell) – [Aufgabe mit Lösung] Martin Pabst
Zeile 12: Zeile 12:
 <script type="text/plain" title="Test1.java"> <script type="text/plain" title="Test1.java">
 JavaKaraWorld jkw = new JavaKaraWorld(10, 5); JavaKaraWorld jkw = new JavaKaraWorld(10, 5);
 +println(jkw.WEST);
 jkw.init(""" jkw.init("""
 tttttttttt tttttttttt
-tl  lt+t l   lt
 tttttttttt tttttttttt
 + m m m m 
 """); """);
-Kara kara = new Kara(jkw, 1, 2, jkw.EAST); +Kara kara = new Kara(jkw, 1, 1, jkw.EAST); 
-kara.move(); + 
-kara.turnRight();+if(kara.onLeaf()) { kara.removeLeaf();
 +else { kara.putLeaf();
 + 
 +while (!kara.treeFront()) { 
 +   kara.move(); 
 +   if(kara.onLeaf()) { 
 +      kara.removeLeaf(); 
 +   } else { 
 +      kara.putLeaf(); 
 +   } 
 +}  
 + 
 +</script> 
 + 
 +</div> 
 + 
 +</HTML> 
 + 
 + 
 +===== Aufgabe mit Lösung ===== 
 +<WRAP center round tip 80%> 
 +Will man Schüler/innen Aufgaben an die Hand geben, so bietet es sich an, eine Aufgaben-Klasse zu erstellen, in deren Konstruktor die Welt und Kara erstellt werden. Die Schüler/innen erstellen dann eine Unterklasse, die ihre Lösung enthält. Im folgenden Beispiel sehen Sie eine mögliche Variante. 
 +</WRAP> 
 + 
 +<HTML> 
 + 
 +<div class="java-online" style="height: 70vh; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'kara2'}"> 
 + 
 +<script type="text/plain" title="Lösung.java"> 
 +new Lösung1().run(); 
 + 
 +class Lösung1 extends JavaKaraAufgabe1 { 
 +   public void run() { 
 +      if(kara.onLeaf()) { kara.removeLeaf();
 +      else { kara.putLeaf();
 + 
 +      while (!kara.treeFront()) { 
 +         kara.move(); 
 +         if(kara.onLeaf()) { 
 +            kara.removeLeaf(); 
 +         } else { 
 +            kara.putLeaf(); 
 +         } 
 +      }  
 +       
 +   } 
 +
 +</script> 
 + 
 +<script type="text/plain" title="Aufgabe.java"> 
 +class JavaKaraAufgabe1 { 
 +    
 +   public Kara kara; 
 +   public JavaKaraWorld world; 
 + 
 +   JavaKaraAufgabe1() { 
 +      world = new JavaKaraWorld(9, 9); 
 +      world.scale(2);   // vergrößern 
 + 
 +      world.init(""" 
 +      ttttttttt 
 +      t l ll lt 
 +      ttttttttt 
 +      """); 
 +       
 +      kara = new Kara(world, 1, 1, world.EAST); 
 + 
 +      println("KARA soll die Kleeblattreihe invertieren, d.h. wenn sie auf einem Kleeblatt steht, soll sie es aufnehmen; wenn sie keines vorfindet, soll sie eines ablegen."); 
 +   } 
 + 
 + 
 +}
 </script> </script>
  
api/documentation/kara/start.1677273568.txt.gz · Zuletzt geändert: 2023/02/24 22:19 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki