Hi!
Deine Frage berührt neben der klassischen Informatik auch die Mathematik. Gerade beim Thema "Zufall" benötigt man eine Funktion, die bei jedem Aufruf einen andere Zahl zurückgibt. Die Reihenfolge der Werte soll dabei möglichst nicht vorhersehbar sein und sich auch nicht (zu schnell) wiederholen (zudem sollen die Werte etwa gleich häufig auftreten).
Soweit ich weiss, wird auf dem Gebiet immer noch geforscht. Die perfekte Zufallsfunktion dürfte es IMHO immer noch nicht geben.
Die üblichen Zufallsfunktionen, die es schon seit Jahrzehnten in Programmiersprachen gibt arbeiten in etwa so, dass sie sich den letzten Wert merken und dann daraus den nächsten erzeugen. Die Reihenfolge der Werte wäre dabei bei jedem neuen Programmstart gleich. Daher kann man einen Startwert mitgeben, der dann quasi bewirkt, dass an einer anderen Stelle in die Reihenfolge der Werte eingestiegen wird.
Oft nimmt man für diesen Startwert das Datum und die Uhrzeit des Rechners. Damit hat man bei jedem Aufruf einen anderen Startwert und die Reihenfolge der "Zufallszahlen" sollte nicht gleich sein.
So ganz kann man nicht sagen, ob deine Vermutung richtig oder falsch ist. Aus meiner Sicht ist das so:
Ja, es gibt keinen echten Zufall in Programmen. Aber es gibt Funktionen, die verdammt nah dran sind.
Ob es in Spielen zu häufigen Wiederholungen des Ablaufs kommt, liegt dann aber mehr am Design des Spiels und den Fähigkeiten des Programmierers. Wenn er nicht aufpasst, kann das "sichtbar" vorkommen.
Dabei muss man aber bedenken, dass viele Spiele heute nach festen Skripten ablaufen, d.h. die Handlung soll sich gar nicht richtig zufällig entwickeln. Die Story im Spiel muss ja ablaufen können und das geht nur, wenn man "feste Pfade" in die Handlung programmiert (also ein Skript die Handlung vorgibt).
Bis dann
Andreas
PS: http://de.wikipedia.org/wiki/Zufallszahl
Was ich als Zufallsfunktion beschreibe ist eine Pseudozufallszahl:
http://de.wikipedia.org/wiki/Pseudozufallszahl