Zufallsgenerierte Zeitschleife

  • Zufallsgenerierte Zeitschleife

    Hi liebes Forum.

    Einmal mehr entschuldige ich mich für meine lange Abwesenheit; aber in den letzten Wochen - ja gar Monaten - konnte und wollte ich nix mit Gamemaker & Co zu tun haben. In erster Linie aufgrund der frustrierenden Tatsache, ein unvollendetes Spiel mit 11 Levels, ein weiteres mit 150 Rooms, null Plan und 100.000 Ideen zu haben, die ich ohnehin nicht annähernd verwirklichen kann, weil ich nicht 'mal die einfachsten Dinge checke...

    Naja, egal. Will jetzt nicht rumraunzen. Weil das am Allerwenigsten bringt.

    Apropos "die einfachsten Dinge nicht checken":
    Habe natürlich per Suchfunktion versucht, diesbezüglich etwas herauszufinden - doch leider ohne Erfolg.

    Bitte erklärt einem armseligen Drag & Droper, wie der Code für eine Zeitschleife per Zufallsgenerator lauten könnte. In meinem Fall soll es so aussehen, dass zu allen heiligen Zeiten ein Blitz einschlägt. Möchte also Minimum (zB. 20 Sekunden) und Maximum (zB: 90 Sekunden) bestimmen. Da es also im Spielgeschehen passiert, darf es logischerweise keine Freeze-Funktion sein.

    Kann mich erinnern, 'mal irgendso'was ähnliches gefragt zu haben (allerdings nicht auf Bezug zu einer Zeitschleife) - doch selbst das finde ich nicht mehr.

    Danke vielmals und bis dann!
  • Hi kht! Schön, dich hier mal wieder begrüßen zu dürfen!^^

    Wenn ich dich richtig verstanden habe, dürfte das folgendermaßen aussehen:

    GML-Quellcode

    1. // Create Event
    2. minimum=20;
    3. maximum=90;
    4. blitz=false;
    5. time=(minimum+(random(maximum)))*room_speed;

    GML-Quellcode

    1. // Step Event
    2. time-=1;
    3. if(time<=0) {blitz=true; time=(minimum+(random(maximum)))*room_speed;}


    Und wenn "blitz" auf "true" gestellt wird, erzeugst du deinen Blitz. Setze es dann aber wieder auf "false", sonst wird es das reinste Gewitter. ;)

    Ich hoffe, das funzt so..
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mauge ()

  • Falls du nach DER antwort trozdem noch vor hast, das im Drag & Drop zu machen rate ich dir folgendes:

    Createevent:

    minimum = 20
    maximum = 90
    blitz = flase
    time = (minimum+(random(maximum)))*room_speed;

    Stepevent:

    Blitz = true;

    Hier kommt der Blitz rein
    Blitz = flase;



    time > 1 NOT

    blitz = true
    time = (minimum+(random(maximum)))*room_speed



    time = -1 relative



    Ich hab dazu jetzt frecherweiße mal den Code von mauge genommen, weil mir auch nix besseres eingefallen ist! :D
    Dies ist eine kreative Signatur: Stell dir genau JETZT etwas lustigs vor, das hier stehen könnte...

    Meine Homepage
  • Beide Varianten bewirken allerdings das es maximal minimum+maximum dauern kann, also zwischen 20 und 110 sekunden dauern kann.
    Falls du mit ner minmum und maximum Variable arbeiten willst dann solltest du statt

    GML-Quellcode

    1. time = (minimum+(random(maximum)))*room_speed

    folgendes nehmen:

    GML-Quellcode

    1. time = (minimum+(random(maximum-minimum)))*room_speed
  • Stimmt ja! Du hast recht :ops: Tja! Das hat meine Wenigkeit dann wohl übersehen! Außerdem ist mir eingefallen, dass du das Ganze auch mit Alarmen machen kannst!

    Du setzt im Create Event und im Alarm1-event den Alarm 1 auf

    GML-Quellcode

    1. (minimum+(random(maximum-minimum)))*room_speed

    und im Alarm 1 event fürst du ebenfalls den Blitz aus! Das wäre glaube ich schneller als meine andere Lösung (die im übrigen eigentlich von mague stammt :D)
    Dies ist eine kreative Signatur: Stell dir genau JETZT etwas lustigs vor, das hier stehen könnte...

    Meine Homepage
  • Wouw...

    So viele VERSCHIEDENE Antworten auf einmal...

    Somit kann ich wohl schon jetzt behaupten, dass das Thema gelöst ist.
    Bei sovielen Möglichkeiten werde ich ja hoffentlich eine hinkriegen.
    Und im Grossen und Ganzen habe ich's sogar recht guta verstanden.
    Danke für die detailgenaue Erklärung - genau so brauche ich das ;)

    Bis bald & schöne Grüsse!

    EDIT: ich lass die Sache vorerst dennoch "ungelöst" - sicher ist sicher.
    Vielleicht taucht ja dann plötzlich noch eine weitere Frage zum Thema auf.
    Werde ich aber in den nächsten Tagen bzw. heute schon nachholen.
    Danke!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kht ()

  • Benutzer online 1

    1 Besucher