Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
12.7. EIN WEITERES BEISPIEL 155<br />
// Ueberpruefung, ob in noerdlicher Richtung (vom Hamster aus<br />
// gesehen rechts) eine weitere nicht mit Mauern besetzte<br />
// Reihe existiert<br />
boolean weitere_reihe_rechts_vom_hamster_existiert()<br />
{<br />
}<br />
// der Hamster soll sich in die naechste Reihe in noerdlicher<br />
// Richtung begeben; vom Hamster aus gesehen, liegt diese Reihe<br />
// links von ihm<br />
void begib_dich_links_um_in_naechste_reihe()<br />
{<br />
}<br />
// der Hamster soll sich in die naechste Reihe in noerdlicher<br />
// Richtung begeben; vom Hamster aus gesehen, liegt diese Reihe<br />
// rechts von ihm<br />
void begib_dich_rechts_um_in_naechste_reihe()<br />
{<br />
}<br />
Bei der Implementierung der beiden Prozeduren ernte eine reihe nach osten und ernte -<br />
eine reihe nach westen stellt sich schnell heraus, da beide dieselbe Gestalt haben. Also wird<br />
eine Prozedur ernte eine reihe de niert und durch die beiden Prozeduren aufgerufen. Die<br />
Implementierung der Prozedur ernte eine reihe ist dabei relativ problemlos:<br />
// der Hamster soll alle Koerner in einer Reihe einsammeln;<br />
// er laeuft dabei von Westen nach Osten<br />
void ernte_eine_reihe_nach_osten()<br />
{<br />
ernte_eine_reihe();<br />
}<br />
// der Hamster soll alle Koerner in einer Reihe einsammeln;<br />
// er laeuft dabei von Osten nach Westen<br />
void ernte_eine_reihe_nach_westen()<br />
{<br />
ernte_eine_reihe();<br />
}<br />
// der Hamster soll alle Koerner in einer Reihe einsammeln<br />
void ernte_eine_reihe()<br />
{<br />
sammle();<br />
while (vorn_frei())<br />
{<br />
vor();