blob: a98542bd72cd4fe5a54cc12995f18fa1027391ee [file] [log] [blame]
FUNKTION:
int random(int n)
ARGUMENTE:
n: Zahlen-Bereich aus dem gewaehlt werden soll.
BESCHREIBUNG:
Gibt eine zufaellige Zahl im Bereich von 0..(n-1) zurueck.
BEMERKUNGEN:
Der Nachteil der Zufaelligkeit (ueber grosse Zahlen) ist, dass wenn
viele Zahlen in einem kleinen Bereich in kurzer Zeit generiert
werden, einige Zahlen sehr viel haeufiger auftreten als andere.
Es sei nochmal darauf hingewiesen, dass der Bereich immer bei 0
und NICHT bei 1 anfaengt. Ein random(10) geht also nicht von
1..10 sondern von 0..9!
BEISPIELE:
// Einfache Abfrage z.B. aus der HitFunc einer Waffe:
if(random(101) >= 70) return random(11);
else return 0;
// Spieler soll in einen zufaellig ausgewaehlten Raum gemovt
// werden:
string *dest = ({ "raum1","raum2","raum3","raum4","raum5" });
this_player()->move(dest[random(sizeof(dest))],M_GO|M_NOCHECK);
// Es soll eine zufaellige Meldung ausgegeben werden:
tell_object(this_player(),
({ "Es knackt.\n", "Dir ist kalt.\n", "Du schwitzt.\n",
"Du bekommst Angst.\n", "Hinter Dir knackt es im Gebuesch.\n",
"Ein kuehler Wind kommt auf.\n" })[random(6)]);
Wie man sieht, gibt es fuer random() viele schoene Einsatz-
moeglichkeiten. Wobei letzteres Beispiel ueber AddRoomMessage
(fuer Raeume) viel einfacher umzusetzen ist.
7.Aug 2007 Gloinson