Frage über den Zufall

  • GM 8

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

  • Frage über den Zufall

    Hallo allerseits,

    ich habe derzeit folgendes Problem: Ich habe einen Raum und möchte dort Gegner setzen, aber nur einer soll einen Schlüssel dabei haben. Wie bringe ich das dem Programm nun bei das der Schlüssel in jedem Fall verteilt werden muss?

    Ich kann aus vier unterschiedlich Objekten mit "Create instance of random object" eines entstehen lassen, was aber dazu führen kann wenn ich das vier mal mache der Schlüssel vielleicht dennoch nicht erscheint. Genau das gleiche Problem sehe ich bei "With a change perform next
    action", wenn ich bei einem besiegten Gegner diese Zufallszahl setze dann kann es immer noch passieren das wenn alle Gegner weg sind der Schlüssel nicht da ist.

    Ich sehe nicht wie ich das einfach lösen könnte, oder ich lasse einfach so lange Gegner entstehen bis der Schlüssel eben fällt...
  • Du gehst in einer Schleife alle Instance durch die in Frage stehen ob sie den Schüssel haben, speicherst die Instancen in einen Array und dann wählst du eine per Zufall aus:

    GML-Quellcode

    1. instance[floor(random(Anzahl der instancen von der Schleife))].habschlüssel=true;

    Das ist natürlich noch kein richtiger Code musst eben anpassen.
    Die Schleife sieht inetwa so aus:

    GML-Quellcode

    1. var instance,count;
    2. instance[0]=0;
    3. count=-1;
    4. with(obj_gegner)
    5. {
    6. count+=1;
    7. instance[count]=id;
    8. }

    Irgendwie so. Das ganze sollte in das Create Event von irgendeinen Object, z.B. in das Kontrolle Object oder den Spielern.
    #edit:
    @ interceptor : So gehts auch. xd Seit einem Monat oder so nicht mehr mit dem GM gearbeitet.^^
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%

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

  • Oder einfach:

    GML-Quellcode

    1. enemy_with_key = instance_find(obj_enemy, floor(random(instance_number(obj_enemy))));
    2. enemy_with_key.has_key=true;

    Wählt per instance_find aus der Liste aller vorhandenen Gegner-Objekte (instance_number) einen zufälligen (floor(random)) aus.
    Einige meiner Spiele:
  • Erst einmal vielen Dank für die Antworten, auch wenn ich mit dem Code eher wenig anfangen kann da ich nur mit dem Drag and Drop Menü arbeite, denn so weit reichen meine Kentnisse dann zugegeben noch nicht aus.

    Es scheint ja dann doch etwas komplizierter zu sein, aber das macht nichts ich werde es dann anders machen. Nach etwas Überlegung erscheint es mir auch so besser zu sein, noch einmal vielen Dank.
  • Benutzer online 1

    1 Besucher