Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:hamster:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
api:documentation:hamster:start [2023/02/25 20:50] – angelegt Martin Pabstapi:documentation:hamster:start [2023/02/25 21:20] (aktuell) – [Welt erstellen] Martin Pabst
Zeile 8: Zeile 8:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 350px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'hamster1'}">+<div class="java-online" style="height: 350px; width: calc(100% - 30px)" data-java-online="{'withBottomPanel': false, 'id': 'hamster1'}">
  
 <script type="text/plain" title="Test1.java"> <script type="text/plain" title="Test1.java">
 new World(1000, 1000); new World(1000, 1000);
-JavaHamsterWorld jhw = new JavaHamsterWorld(99);+JavaHamsterWorld jhw = new JavaHamsterWorld(104);
 jhw.scale(2); jhw.scale(2);
 jhw.init(""" jhw.init("""
-m332mmm11 +mmmmmmmmmm 
-      m +1 2 3 4m 
-m       m +       
-m       m +mmmmmmmmmm
-m       m +
-m  m  6 m +
-m       m +
-      +
-abcdefmmm+
 """); """);
  
-Hamster h = new Hamster(jhw, 47, Hamster.SÜD, 0); +Hamster h = new Hamster(jhw, 11, Hamster.OST, 0); 
-h.vor();+while (h.vornFrei()) { 
 +   h.vor(); 
 +   while (h.kornDa()) { 
 +      h.nimm(); 
 +   } 
 +}
 h.linksUm(); h.linksUm(); h.linksUm(); h.linksUm(); h.linksUm(); h.linksUm();
 h.vor(); h.vor();
-h.nimm(); +while (!h.maulLeer()) { 
-h.schreib("Hallo!"); +   h.gib(); 
-h.vor(); +}
-h.gib(); +
-h.vor(); +
-+
  
-</script>+h.linksUm(); h.linksUm(); h.linksUm(); 
 +h.vor();</script>
  
 </div> </div>
Zeile 46: Zeile 44:
 ===== Aufgabe mit Lösung ===== ===== Aufgabe mit Lösung =====
 <WRAP center round tip 80%> <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.+Will man Schüler/innen Aufgaben an die Hand geben, so bietet es sich an, eine Aufgaben-Klasse entweder als Unterklasse von ''JavaHamsterWorld'' oder von ''Hamster'' zu erstellen, in deren Konstruktor die Welt initialisiert wird. Die Schüler/innen erstellen dann eine Unterklasse, die ihre Lösung enthält. Im folgenden Beispiel sehen Sie eine mögliche Variante, bei der die Schüler/innen auf die Punktschreibweise für die Methodenaufrufe verzichten können.
 </WRAP> </WRAP>
  
 <HTML> <HTML>
  
-<div class="java-online" style="height: 70vh; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'kara2'}">+<div class="java-online" style="height: 600px; width: calc(100% - 30px)" data-java-online="{'withBottomPanel': true, 'id': 'hamster2'}">
  
 <script type="text/plain" title="Lösung.java"> <script type="text/plain" title="Lösung.java">
 new Lösung1().run(); new Lösung1().run();
  
-class Lösung1 extends JavaKaraAufgabe1 {+class Lösung1 extends Hamster1 {
    public void run() {    public void run() {
-      if(kara.onLeaf()) { kara.removeLeaf();+      while (vornFrei()) { 
-      else { kara.putLeaf();+         vor(); 
- +         while (kornDa()) { 
-      while (!kara.treeFront()) { +            nimm();
-         kara.move(); +
-         if(kara.onLeaf()) { +
-            kara.removeLeaf(); +
-         } else { +
-            kara.putLeaf();+
          }          }
-      } +      } 
 +      linksUm(); linksUm(); linksUm(); 
 +      vor(); 
 +      while (!maulLeer()) { 
 +         gib(); 
 +      } 
 + 
 +      linksUm(); linksUm(); linksUm(); 
 +      vor();
              
    }    }
-} +}</script>
-</script>+
  
 <script type="text/plain" title="Aufgabe.java"> <script type="text/plain" title="Aufgabe.java">
-class JavaKaraAufgabe1 {+class Hamster1 extends Hamster {
        
-   public Kara kara+   Hamster1() { 
-   public JavaKaraWorld world;+      super(new JavaHamsterWorld(10, 4), 1, 1, Hamster.OST, 0)
 +      JavaHamsterWorld jhw = getWorld(); 
 +      jhw.scale(2);   // vergrößern
  
-   JavaKaraAufgabe1() { +      jhw.init(""" 
-      world = new JavaKaraWorld(9, 9); +      mmmmmmmmmm 
-      world.scale(2);   // vergrößern +      m 1 2 3 4m 
- +      m        m 
-      world.init(""" +      mmmmmmmmmm
-      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."); 
    }    }
- 
  
 } }
api/documentation/hamster/start.1677354612.txt.gz · Zuletzt geändert: 2023/02/25 20:50 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki