AntMe! - Das große Krabbeln beginnt: Unterschied zwischen den Versionen

Aus DMUW-Wiki
Wechseln zu: Navigation, Suche
K
K
Zeile 98: Zeile 98:
 
   public String forward (int n)  // läuft n Schritte vorwärts
 
   public String forward (int n)  // läuft n Schritte vorwärts
 
   public String backward (int n)  // läuft n Schritte rüchwärts
 
   public String backward (int n)  // läuft n Schritte rüchwärts
   public String right(int a)      // läuft n Schritte nach rechts
+
   public String right(int a)      // dreht sich a Grad nach rechts
   public String left (int a)      // läuft n Schritte nach links
+
   public String left (int a)      // dreht sich a Grad nach links
 
   public String penUp ()          // hebt den Stift hoch (kein Zeichnen mehr bei forward/backward)
 
   public String penUp ()          // hebt den Stift hoch (kein Zeichnen mehr bei forward/backward)
 
   public String penDown ()        // setzt Stift wieder auf
 
   public String penDown ()        // setzt Stift wieder auf

Version vom 24. Februar 2010, 15:14 Uhr

<language>Java</language>

Mathematik-digital Pfeil-3d.png
Lernpfad

Das große Krabbeln beginnt


Teil 1 der Lernpfadgruppe: Programmieren mit AntMe!

Pdf20.gif Kompetenzaufbau


Ziele des Lernpfads

  • das Programm Visual Studio 2008 Express kennenlernen
  • das Programm AntMe! kennenlernen
  • die eigenen Ameisen zum Krabbeln bringen
  • kurze Einführung in turtle, die eigene Wiki-Programmierung


Notwendige Installationen für AntMe!
(Die Programme können nur von einem Benutzer installierten werden, der auch alle nötigen Rechte auf dem PC hat.)


  Aufgabe   Stift.gif

Sieh dir das folgende Video an und stelle es nach.
Hinweis: Für eine bessere Qualität gibt es YouTubeHD. Wechsel dafür im Menü auf 720p.


Alles ist installiert. Das Spiel kann beginnen!


  Aufgabe   Stift.gif

Übernehme die Einstellungen aus dem Video und passe sie mit deinem persönlichen Namen an, damit wir später im MultiplayerModus unsere Ameisen gegeneinander antreten lassen können.
Welches Verhalten zeigen die Ameise am Ende des Videos bzw. in deiner eigenen Simulation?

[Lösung anzeigen]


Wir wollen uns jetzt näher mit der Klasse MeineAmeise beschäftigen. Sie enthält wichtige (noch leere) Methoden, mit denen wir das Verhalten der Ameisen wesentlich verändern wollen, um somit auf Futtersuche zu gehen und unsere Ameisen vor Feinden zu schützen. Ameisen stehen von Beginn an vor ihrem Bau und warten auf eine Anweisung, diesen Teil müssen wir bereits selbst programmieren. Es gibt vorgefertigte Methoden, die wir für unsere Ameisen nutzen können. Eine davon heißt "GeheGeradeaus()". Wir wollen sie hier für uns benutzen.


  Aufgabe   Stift.gif

Programmiere die Ameisen mit dem vorgegeben Quellcode so um, dass wenn sie vor dem Bau stehen zunächst immer gerade aus gehen.
Hilfe: [Anzeigen]

                    ()

                    

                      ();

                    

public override void Wartet}GeheGeradeaus{

Ergbnis: [Anzeigen]

Die öffentliche (theodme) Wartet() wird aufgerufen, wenn die Ameise zum Leben erweckt und vor ihrem Bau steht. Durch den Methodenmodifikator (ilcubp) wird erkennbar, dass die Methode (hcöfnetfil) und für jeden aufrufbar ist. override ist ein weiterer (raiktfoimod), der eine bereits, durch (brrenvueg), vorhandene Methode überschreibt. Im Fall der Methode Wartet() soll nach der Bearbeitung aller Anweisungen kein (gcweaeüktrrb) zurückkommen. Dies geschiet durch die Angabe (odvi).
In den geschweiften Klammern folgt der (rumpf) der Methode. Er enthält alle (ennganweusi), welche beim Aufruf ausgeführt werden. Jede Anweisung wird mit einem (olnoismek) abgeschlossen.

Krüger AntsKrabbeln.png
  Aufgabe   Stift.gif

Bis jetzt laufen unsere Ameisen ziellos auf dem Gelände herum und haben noch keine Aufgabe.
Was ist der Unterschied zwischen GeheGeradeaus() und GeheGeradeaus(int entfernung)?

public override void Wartet()
{
GeheGeradeaus(150);
DreheUmWinkel(180);
GeheGeradeaus(150);
}

public override void Wartet()
{
GeheGeradeaus();
}

public override void Wartet()
{
if (EntfernungZuBau < 100)
{
GeheGeradeaus(10);
}
else
{
BleibStehen();
}
}

public override void Wartet()
{
GeheGeradeaus(200);
DreheUmWinkel(60);
}

Die Ameise geht endlos geradeaus.Die Ameise entfernt sich von ihrem Bau, genau 150 Schritte, und läuft wieder zurück.Alle Ameisen stellen sich im Kreis um den Bau auf.
Die Ameise läuft im Dreieck zum Bau zurück.

  Aufgabe   Stift.gif


Keine Ameise, aber eine Schildkröte ist bereits im Lernpfad implementiert. Sie kann mit einem Stift zeichnen und sich genauso bewegen wie unsere Ameisen. Das erste Fenster zeigt alle möglichen Methoden der Turtle, welche im zweiten Fenster initialisiert wird. Zeichne mit der Turtle und den gegebenen Methoden das Haus vom Nikolaus!

  public String forward (int n)   // läuft n Schritte vorwärts
  public String backward (int n)  // läuft n Schritte rüchwärts
  public String right(int a)      // dreht sich a Grad nach rechts
  public String left (int a)      // dreht sich a Grad nach links
  public String penUp ()          // hebt den Stift hoch (kein Zeichnen mehr bei forward/backward)
  public String penDown ()        // setzt Stift wieder auf

  public void home()              // legt die Turtle auf den Startpunkt

canvas.clear(); // Zeichenfläche löschen Turtle turtle = new Turtle(1); turtle.home(); <eval id="4b756ff051311"> </eval> <canvas></canvas>


Krüger AntsMüde.png


  Aufgabe   Stift.gif

Programmiere die Methode WirdMüde?
Übernehme den Quellcode in dein eigenes AntMe!-Projekt!

                    ()

                    

                      ();

                    

{GeheZuBaupublic override void WirdMüde}


  Aufgabe   Stift.gif

Was hast du in diesem Lernpfad gelernt?
Löse das Kreuzworträtsel!

      11                
                      
                      
                      
                      
                      
                      
                      
                      
                      
                      
                      
                      
          9 5           
         7             
    6                  
   2           1        
                     12 
              3        
                  8    
             4         
                      
13                      
                      
                      
                      
                      
10                      

Benutzen Sie zur Eingabe die Tastatur. Eventuell müssen sie zuerst ein Eingabefeld durch Anklicken aktivieren.

Senkrecht
Kennzeichnung einer öffentlichen Methode1
großer Softwarehersteller und Partner von AntMe!5
eine Methode die Ameisen laufen lässt6
Feind der Ameisen7
süße Nahrung der Ameisen8
C, C# und Java ist eine ...11
gesunde Nahrung der Ameisen12
Waagrecht
Inhalt der geschweiften Klammern einer Methode2
Startpunkt der Ameisen3
Methode wird aufgerufen, wenn Ameisen erschöpft sind4
Insekt deines Volkes9
Zusammenfassung von gleichartigen Objekten10
Texteditor von Microsoft13

Punkte werden mit gesammelter Nahrung oder dem Sieg im Kampf über einen Gegner, das kann eine gegnerische Ameise oder eine Wanze sein, erzielt. Wir möchten zunächst die Nahrung finden und zurück in unseren Bau schaffen.


Was kannst du jetzt

  • Grundlagen im Umgang mit Visual Studio Express
  • eigenständig AntMe! herunterladen und installieren
  • Ameisen auf dem Gelände laufen lassen
  • mit turtle objektorientiert Programmieren und Bilder malen


Das Krabbeln geht weiter! \Rightarrow Zum nächsten Lernpfad: AntMe! - Auf der Nahrungssuche

\Leftarrow zurück zum Hauptmenü