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

Aus DMUW-Wiki
Wechseln zu: Navigation, Suche
K
Zeile 70: Zeile 70:
 
| <div align="left"><tt>public override void Wartet()<br />{<br />GeheGeradeaus();<br />}</tt></div> || Die Ameise geht endlos geradeaus. || {{#ev:youtube|QCNkHEqNXf4|200}}
 
| <div align="left"><tt>public override void Wartet()<br />{<br />GeheGeradeaus();<br />}</tt></div> || Die Ameise geht endlos geradeaus. || {{#ev:youtube|QCNkHEqNXf4|200}}
 
|-
 
|-
| <div align="left"><tt>public override void Wartet()<br />{<br />if (EntfernungZuBau > 100)<br />{<br />GeheGeradeaus(150);<br />}<br />}<br />else<br />{<br />BleibStehen();<br />}</tt></div> || Alle Ameisen stellen sich im Kreis um den Bau auf. || {{#ev:youtube|a29KYH-5Rzs|200}}
+
| <div align="left"><tt>public override void Wartet()<br />{<br />if (EntfernungZuBau > 100)<br />{<br />GeheGeradeaus(150);<br />}<br />else<br />{<br />BleibStehen();<br />}</tt></div> || Alle Ameisen stellen sich im Kreis um den Bau auf. || {{#ev:youtube|a29KYH-5Rzs|200}}
 
|-
 
|-
 
| <div align="left"><tt>public override void Wartet()<br />{<br />GeheGeradeaus(150);<br />DreheUmWinkel(180);<br />GeheGeradeaus(150);<br />}</tt></div> || Die Ameise entfernt sich von ihrem Bau, genau 150 Schritte, und läuft wieder zurück. || {{#ev:youtube|b4-Ltk61Cjo|200}}
 
| <div align="left"><tt>public override void Wartet()<br />{<br />GeheGeradeaus(150);<br />DreheUmWinkel(180);<br />GeheGeradeaus(150);<br />}</tt></div> || Die Ameise entfernt sich von ihrem Bau, genau 150 Schritte, und läuft wieder zurück. || {{#ev:youtube|b4-Ltk61Cjo|200}}
Zeile 83: Zeile 83:
 
}}
 
}}
  
  public String forward (int n)
+
  public String forward (int n)   // läuft n Schritte vorwärts
  public String backward (int n)
+
  public String backward (int n) // läuft n Schritte rüchwärts
  public String right(int a)
+
  public String right(int a)     // läuft n Schritte nach rechts
  public String left (int a)
+
  public String left (int a)     // läuft n Schritte 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
 
   
 
   
  public void home()           // legt die Turtle auf den Startpunkt
+
  public void home()             // legt die Turtle auf den Startpunkt
  
<code id="4b6091d8995ac" hidden></code>
+
<code id="4b756ff04f3d0" hidden></code>
<code id="4b6091d89b4e9">
+
<code id="4b756ff050370">
 
canvas.clear(); // Zeichenfläche löschen
 
canvas.clear(); // Zeichenfläche löschen
 
Turtle turtle = new Turtle(1);
 
Turtle turtle = new Turtle(1);
 
turtle.home();
 
turtle.home();
 
</code>
 
</code>
<eval id="4b6091d89d42a">
+
<eval id="4b756ff051311">
 
</eval>
 
</eval>
 
<canvas></canvas>
 
<canvas></canvas>

Version vom 12. Februar 2010, 16:12 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


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 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 können wir später im MultiplayerModus unsere Ameisen gegeneinander antreten lassen können.
Achte auf das Verhalten der Ameise am Ende des Videos bzw. in deiner eigenen Simulation!


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:

Ameisen warten vor ihrem Bau, wenn sie zum Leben erweckt sind. In der Befehlsliste von AntMe! ist die Methode GeheGeradeaus() erklärt, die du hier aufrufen kannst, damit sich die Ameisen bewegen.
public override void Wartet()

{

GeheGeradeaus();

}

Ergbnis:

Die öffentliche Methode Wartet() wird aufgerufen, wenn die Ameise zum Leben erweckt und vor ihrem Bau steht. Durch den Methodenmodifikator public wird erkennbar, dass die Methode öffentlich und für jeden aufrufbar ist. override ist ein weiterer Modifikator, der eine bereits, durch Vererbung, vorhandene Methode überschreibt. Im Fall der Methode Wartet() soll nach der Bearbeitung aller Anweisungen kein Rückgabewert zurückkommen. Dies geschiet durch die Angabe void.
In den geschweiften Klammern folgt der Rumpf der Methode. Er enthält alle Anweisungen, welche beim Aufruf ausgeführt werden. Jede Anweisung wird mit einem Semikolon 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();
}
Die Ameise geht endlos geradeaus.
public override void Wartet()
{
if (EntfernungZuBau > 100)
{
GeheGeradeaus(150);
}
else
{
BleibStehen();
}
Alle Ameisen stellen sich im Kreis um den Bau auf.
public override void Wartet()
{
GeheGeradeaus(150);
DreheUmWinkel(180);
GeheGeradeaus(150);
}
Die Ameise entfernt sich von ihrem Bau, genau 150 Schritte, und läuft wieder zurück.
public override void Wartet()
{
GeheGeradeaus(200);
DreheUmWinkel(60);
}
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. 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)      // läuft n Schritte nach rechts
public String left (int a)      // läuft n Schritte 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

Wie wird die Methode richtig programmiert? Übernehme den Quellcode in dein eigenes AntMe!-Projekt!

public override void WirdMüde()

{

GeheZuBau();

}


  Aufgabe   Stift.gif

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

VisualStudio Texteditor von Microsoft
Apfel gesunde Nahrung der Ameisen
public Kennzeichnung einer öffentlichen Methode
Käfer Feind der Ameisen
GeheGeradeaus eine Methode die Ameisen laufen lässt
Methodenrumpf Inhalt der geschweiften Klammern einer Methode
Bau Startpunkt der Ameisen
Zucker süße Nahrung der Ameisen
Ameise Insekt deines Volkes
Microsoft großer Softwarehersteller und Partner von AntMe!
Klasse Zusammenfassung von gleichartigen Objekten
WirdMüde Methode wird aufgerufen, wenn Ameisen erschöpft sind
Programmiersprache C, C# und Java ist eine ...

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 zu aller erst die Nahrung finden und zurück in unseren Bau schaffen.

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