Zu einem zufälligen Raum gehen.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zu einem zufälligen Raum gehen.

    Diesmal hab ich die Suchfunktion benutzt, und habe dieses Thema noch nirgends gefunden.

    Mein Problem ist, dass ich in manchen Spielen mit einem Druck auf ein Objekt in einen zufälligen Raum will, und nicht in einen bestimmten. Wie geht das?
    Huhu, bin neu. ;)
  • Du creirst eine Variable mit dem Wert floor(random(5))!
    Das bedeutet eine zufällige Zahl zwischen 0 und 5!
    5 ist hierbei die Anzahl der Räume, die es insgesamt gibt!

    Dann fragst du ab:
    Wenn die Variable 0 ist, dann gehe zu diesem Room...
    Wenn die Varaible 1 ist, dann gehe zu diesem Room...
    usw....
  • Du creirst eine Variable mit dem Wert floor(random(5))!
    Das bedeutet eine zufällige Zahl zwischen 0 und 5!
    5 ist hierbei die Anzahl der Räume, die es insgesamt gibt!
    *hust* floor(random(5)) gibt eine zahl zwischen 0 und 4 wieder, da abgerundet wird. sail(random(5)) würde eine zahl zwischen 1 und 5 wiedergeben. (wobei es natürlich immer 5 verschiedene möglichkeiten gibt (0,1,2,3,4) oder (1,2,3,4,5).
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Original von Nobody-86
    Du creirst eine Variable mit dem Wert floor(random(5))!
    Das bedeutet eine zufällige Zahl zwischen 0 und 5!
    5 ist hierbei die Anzahl der Räume, die es insgesamt gibt!
    *hust* floor(random(5)) gibt eine zahl zwischen 0 und 4 wieder, da abgerundet wird. sail(random(5)) würde eine zahl zwischen 1 und 5 wiedergeben. (wobei es natürlich immer 5 verschiedene möglichkeiten gibt (0,1,2,3,4) oder (1,2,3,4,5).


    sail(random(5)) ???
    also ich glaub nich, dass man mit zufallszahlen segeln kann...
    ceil(random(5)) heißt das...
  • *hust*
    darf ich euch mal dazwischenplappern?

    GML-Quellcode

    1. room_goto(round(random(5)))
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • [klugscheiß]
    Nein, er muss eine Id zwischen 0 und 5 haben. Und strings kann man da nicht einsetzen, da muss man tricksen.
    [/klugscheiß]

    GML-Quellcode

    1. var roomname;
    2. switch (floor(random(5))) {
    3. case 0: roomname = "raum1"; break;
    4. case 1: roomname = "raum2"; break;
    5. case 2: roomname = "raum3"; break;
    6. case 3: roomname = "raum4"; break;
    7. case 4: roomname = "raum5"; break;
    8. }
    9. execute_string("room_goto("+roomname+");");
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • da is keine klammer zuviel und es funzt definitiv. ich habs getestet.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von mauge

    GML-Quellcode

    1. room_goto(round(random(5)))

    das funktioniert, weil jeder raum ja schon eine ID haben muss und diese für GM-interne zwecke auch behalten muss. es handelt sich um die nummer, die der raum beim erstellen bekommt (raum17 etc.). dabie ist es egal welchen namen der raum später bekommen hat. leider ist dieses array fest und nicht mehr änderbar. das bedeuted, wenn man einen raum löscht bleibt seine nummer weiterhin vergeben, jeder neue raum bekommt eine fortlaufende nummer. hat man also nun fünf räume und löscht einen davon, funktioniert das ganze schon nicht mehr.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x