|
/* * bewege alle Tiere der Art `art' */ void bewege_tiere(char art) { int zeile, spalte; for (zeile = 0; zeile < ZEILEN; ++ zeile) for (spalte = 0; spalte < SPALTEN; ++ spalte) if (! gezogen[zeile][spalte] && wator[zeile][spalte] == art) bewege_tier(zeile, spalte); } |
wator.c |
for (chronos = 0; wator_ausgabe(), weiter(); ++chronos) { init_gezogen(); bewege_tiere(FISCH); bewege_tiere(HAI); } |
Während eines Simulationsschrittes werden zuerst
die Fische und dann die Haie bewegt.
| |
Die Tiere werden nicht in zufälliger Reihenfolge
bewegt -- stattdessen wird der gesamte Planet Feld
für Feld abgearbeitet und bei Vorhandensein eines
entsprechenden Tieres bearbeitet.
| |
Damit Tiere nicht versehentlich mehrfach innerhalb
eines Schrittes bewegt werden, gibt es das Feld gezogen,
das von init_gezogen vor jeder Runde initialisiert
werden muß.
|
Copyright © 1998 Andreas Borchert, in HTML konvertiert am 01.12.1998 |