Im Folgenden wollen wir einen Agenten erstellen, der solange geradeaus läuft, bis er auf etwas Essbares stösst. Diese soll er dann zu sich nehmen.
Dazu müssen wir wissen, wie die beiden Aktionen Essen und Laufen funktionieren, und wie man überprüft, auf welcher Art von Feld ein Agent sich gerade befindet.
/**
 * lässt den agenten solange geradeaus laufen, bis er auf nahrung stösst
 * diese wird dann gegessen
 * danach wird nur noch geschlafen
 */
public Aktion makeItSo(Feld[][] felder, double energie) {
        Aktion aktion;
	Vektor vektor;			// vektor, der nach oben zeigt, einen agenten also nach oben laufen lässt
	vektor = new Vektor();
	vektor.x = 0;			// 0 bewegung in x richtung
	vektor.y = -1;			// einen schritt nach oben
        Feld position = felder[1][1];	// feld, auf dem agent steht
	boolean gegessen = false;	// hat agent bereits gegessen?
	
	// auf welcher art von feld steht agent?
	if (position instanceof FeldMitNahrung) {	// nahrungsfeld :-)
		aktion = new Essen(1);			// alles essen, was vorhanden ist
		gegessen = true;			// agent hat gegessen
	} else if (!gegessen) {				// agent hat noch nichts gegessen, also weiterlaufen
	        aktion = new Laufen(vec);
	} else {					// agent hat gegessen, also mittagsschlaf
		aktion = new Schlafen();
	}
        return aktion;
}
	Wenn der Agent sich von Anfang an auf einem Nahrungsfeld befindet, wird er natürlich gar nicht erst loslaufen.