Random generierte Blöcke

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

  • Random generierte Blöcke

    Hi! Ich mache momentan ein Spiel wo man von Block zu Block springen muss. Nun merke ich das es ein wenig Langweilig wird. Hat jemand einen Code wie ich Blöcke in einem Zufälligen Abstand und in Zufälliger Höhe Spawnen lassen kann, immer dann wenn der Room bzw. das Spiel neu gestartet wird (Beim Tod). Danke schonmal! :D
  • Ich würde das mit einem "oLevelCreate" Objekt machen.

    Create UND Room Start:

    GML-Quellcode

    1. floors_placed = 0; // Damit wird später eine maximale Anzahl an Blöcken festgelegt
    2. distance = 4*32; // Abstand
    3. dir = 1; // Richtung angeben, in welcher nächster Block platziert wird.
    4. randomize();
    5. // Grid
    6. x = 1000-(1000%32)-320; // x Wert für Raum MUSS durch 32 teilbar sein!
    7. y = 1000-(1000%32)-320; // y Wert für Raum MUSS durch 32 teilbar sein!
    8. // Begrenzung setzen um keine Blöcke außerhalb des Raumes zu platzieren
    9. xLeft = x;
    10. yUpper = y;
    11. xRight = 0;
    12. yLower = 0;
    13. // Boden erzeugen
    14. repeat(50)
    15. {
    16. x += distance; // Damit es immer etwas nach rechts geht
    17. instance_create(x, y, oBoden); // Boden platzieren
    18. floors_placed++; // GM wissen lassen, dass ein Boden gesetzt wurde
    19. dir = choose(1, 2, 3, dir, dir, dir); // Neue Richtung zuweisen
    20. switch(dir)
    21. {
    22. case 1:
    23. x += distance; // kannst die Zahlen erhöhen um die Abstände größer zu machen :D
    24. break;
    25. case 2:
    26. y += distance;
    27. break;
    28. case 3:
    29. y -= distance ;
    30. break;
    31. }
    32. // Nicht zu nah an Raumgrenze
    33. if (x < 256) x = 256;
    34. if (x > room_width-288) x = room_width-288;
    35. if (y < 256) y = 256;
    36. if (y > room_height-288) y = room_height-288;
    37. if (x < xLeft) xLeft = x;
    38. if (x > xRight) xRight = x;
    39. if (y < yUpper) yUpper = y;
    40. if (y > yLower) yLower = y;
    41. }
    42. if (floors_placed >= 50) instance_destroy();
    Alles anzeigen


    Hoffe das hilft und funktioniert alles ^^
    Es gibt 10 Arten von Menschen: Diejenigen, die Binärcode verstehen und die, die es nicht tun ^^

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von CallMeLegend ()