
Zitat von
Rob Anybody
Man könnte jedes Feld auf Abstand zu einer Stadt überprüfen und ausschließen. Das kostet aber bestimmt mehr Rechenzeit.

Es wird doch ähnlich wie bei den Sklaven nicht jede Runde überprüft, ob eine Tierherde sich bewegen soll, oder? Daher fände ich persönlich ein bisschen Rechenzeit mehr nicht schlimm.
Ich habe sogar einen eigenen Vorschlag für eine Überprüfungsfunktion (Pseudocode):
Code:
Wenn innerhalb kultureller Grenzen ODER hat Modernisierung,
keine Bewegung.
Wenn im Feld nach oben (y+1), unten (y-1), links (x-1) oder rechts (x+1) Kultur ist,
keine Bewegung.
Sonst
Bewegung.
Vorteile:
Das sollte im Mittel schneller sein als den Abstand zur nächsten Stadt zu ermitteln.
Wenn die Herde sich diagonal annähert, also nicht im FatCross der Stadt wäre, kann sie noch wieder weg.
Nachteil:
Tiere bleiben immer an den Außengrenzen stehen. Auch nach der ersten kulturellen Erweiterung.