blob: a98542bd72cd4fe5a54cc12995f18fa1027391ee [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001FUNKTION:
2 int random(int n)
3
4ARGUMENTE:
5 n: Zahlen-Bereich aus dem gewaehlt werden soll.
6
7BESCHREIBUNG:
8 Gibt eine zufaellige Zahl im Bereich von 0..(n-1) zurueck.
9
10BEMERKUNGEN:
11 Der Nachteil der Zufaelligkeit (ueber grosse Zahlen) ist, dass wenn
12 viele Zahlen in einem kleinen Bereich in kurzer Zeit generiert
13 werden, einige Zahlen sehr viel haeufiger auftreten als andere.
14
15 Es sei nochmal darauf hingewiesen, dass der Bereich immer bei 0
16 und NICHT bei 1 anfaengt. Ein random(10) geht also nicht von
17 1..10 sondern von 0..9!
18
19BEISPIELE:
20 // Einfache Abfrage z.B. aus der HitFunc einer Waffe:
21
22 if(random(101) >= 70) return random(11);
23 else return 0;
24
25 // Spieler soll in einen zufaellig ausgewaehlten Raum gemovt
26 // werden:
27
28 string *dest = ({ "raum1","raum2","raum3","raum4","raum5" });
29 this_player()->move(dest[random(sizeof(dest))],M_GO|M_NOCHECK);
30
31 // Es soll eine zufaellige Meldung ausgegeben werden:
32
33 tell_object(this_player(),
34 ({ "Es knackt.\n", "Dir ist kalt.\n", "Du schwitzt.\n",
35 "Du bekommst Angst.\n", "Hinter Dir knackt es im Gebuesch.\n",
36 "Ein kuehler Wind kommt auf.\n" })[random(6)]);
37
38 Wie man sieht, gibt es fuer random() viele schoene Einsatz-
39 moeglichkeiten. Wobei letzteres Beispiel ueber AddRoomMessage
40 (fuer Raeume) viel einfacher umzusetzen ist.
41
427.Aug 2007 Gloinson