14.12.2012 Aufrufe

2. Von objektorientierten Ameisen

2. Von objektorientierten Ameisen

2. Von objektorientierten Ameisen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kämpferameisen mit globalem Gedächtnis<br />

Name = "Kämpfer",<br />

GeschwindigkeitModifikator = 0,<br />

DrehgeschwindigkeitModifikator = -1,<br />

LastModifikator = -1,<br />

ReichweiteModifikator = -1,<br />

SichtweiteModifikator = 0,<br />

EnergieModifikator = 1,<br />

AngriffModifikator = 2<br />

Die Sichtweite kann man nicht auch noch erhöhen, - dabei ist gerade sie wichtig, um<br />

möglichst schnell viele Käfer in den globalen Speicher schreiben zu können.<br />

Deshalb werden wir eine zweite Art erzeugen, da reichen sicher 6 – 10 Exemplare,<br />

die Spione. Sie haben einzig und allein die Aufgabe, Käfer zu finden und zu<br />

speichern:<br />

Name = "Spion",<br />

GeschwindigkeitModifikator = 1,<br />

DrehgeschwindigkeitModifikator = 0,<br />

LastModifikator = -1,<br />

ReichweiteModifikator = 0,<br />

SichtweiteModifikator = 2,<br />

EnergieModifikator = -1,<br />

AngriffModifikator = -1<br />

Damit ist es nicht getan! Schließlich sollte eine Ameise die Spielrunden zählen. Dabei<br />

sollte sie aber möglichst nicht von Käfern gefressen werden. Eine Ameise dieser Art<br />

reicht. Wir nennen sie Chronos:<br />

Name = "Chronos",<br />

GeschwindigkeitModifikator = 2,<br />

DrehgeschwindigkeitModifikator = 0,<br />

LastModifikator = 0,<br />

ReichweiteModifikator = 0,<br />

SichtweiteModifikator = -1,<br />

EnergieModifikator = 0,<br />

AngriffModifikator = -1<br />

Die angegebenen Werte sollten Sie nicht als Dogma sehen. Es kann lohnend sein,<br />

damit zu experimentieren.<br />

So erzeugen wir jetzt die <strong>Ameisen</strong>:<br />

public static string BestimmeTyp(Dictionary anzahl)<br />

{<br />

if (anzahl["Chronos"] < 1) { return "Chronos"; }<br />

if (anzahl["Spion"] < 6) { return "Spion"; }<br />

else { return "Kämpfer"; }<br />

}<br />

Auch hier sollten Sie mit der Anzahl der Spione experimentieren.<br />

Die Methoden Sieht(Käfer käfer) und WirdAngegriffen(Käfer käfer) können gleich<br />

gestaltet werden. Ein Vorschlag:<br />

44

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!