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
