Boulder Dash - Engine

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

    • Boulder Dash - Engine

      Hallo an Alle

      Ich möchte heute mein Boulder Dash-Engine vorstellen.
      In diesen Engine sind folgende Dingen enthalten:
      Links- und Rechtsläufer, eine magische Mauer, die Amöbe (Schleim), Felsbrocken und natürlich Diamanten.
      Nicht enthalten sind das Punktesystem sowie die Zeitabfrage, Eingang und Ausgang.
      Das war für mein Engine jetzt noch nicht wichtig. Das kommt Später.
      Aber mit diesen Engine hat man immerhin ein halbes Spiel. Ich hab dies Überwiegend für die Änfänger geschrieben, da ich sowas immer gesucht habe aber nie gefunden habe. So ich hoffe es gefällt euch. Ich habe den Code so gut es ging Auskommentiert . Und nun viel Spass damit

      Gruss Drachen :)
      Dateien
    • Hi Waterman7

      Entschuldige das ich mich erst jetzt Melde.
      Eigentlich sollte man die Steine verschieben können. Man muss eine Weil drücken bevor sie sich verschieben. Hab eine kleine verzögerung eingebaut, um die Schwere des Steins darzustellen.
      Bei meinen Test hat alles geklappt.
      Wenn es immer noch nicht klappen soll, sag mir bescheid.

      So ich hoffe ich konnte dir damit ein wenig Helfen
      Gruss Drachen :)
    • Haha... "Hab eine kleine verzögerung eingebaut, um die Schwere des Steins darzustellen" - "Jetzt wo man's weiß"

      Naja...
      Ich würde eher sagen der Schöpfer des original-Boulder Dashs hat eine kleine Verzögerung eingebaut um die schwere des Steins einzubauen :P
      Und ich habe auch noch nicht erlebt, dass jemand nicht von selbst drauf gekommen wär, dass man länger drücken muss... ^^

      Insgesamt aber ganz ansehnlich das Ding. Könnte dem einen oder anderen durchaus helfen auf die Schnelle einen eigenen Boulder Dash-Klon zu kreieren.
    • Eine kleine Änderung einfügen - Hilfe benötigt

      Hallo Drachen,

      ich wollte Dein schönes Demo ein wenig ändern, wenn Du erlaubst.
      Es klappt nicht so wie ich das möchte und ich wäre sehr Dankbar wenn Du mir
      einen Tipp geben könntest.

      Ich möchte im Skript (Obj_Boulder_steht im Collision with obj_Fels) die Funktion
      erweitern, sodass der Spieler die Steine auch horizontal bewegen kann.
      Ich habe die Gravitation der Steine deaktiviert, jedoch bekomme ich es nicht
      hin die Steine auch an der Y-Achse zu verschieben. Ich habe im oben genannten Skript
      folgende if Anweisung zum Schluss hinzugefügt:

      if ( place_empty(x,y+obj_Boulder_steht.vspeed) )
      {
      y += obj_Boulder_steht.vspeed;
      // sound_play(snd_block);
      }

      Das Funktioniert so aber nicht. Wie gesagt wäre dir sehr Dankbar wenn Du
      mir Helfen könntest.

      Grüße

      Dimitrios
    • Hi

      Natürlich kannst du den Code für dich ändern, dafür ist er ja da.
      Nun zu den Steinen.
      Man kann die Stein schon horizontal verschieben, die Bedingung dabei ist das nichts im Weg ist, und man muss eine weile drücken damit sich der Stein bewegt.

      Wenn du die Verzögerung raus haben willst musst du diese Codezeile entfernen

      GML-Quellcode

      1. {
      2. /////////////////////////////////////////
      3. // Felsbrocken horizontal verschieben //
      4. /////////////////////////////////////////
      5. /////////////////////////////////////////
      6. // Zeitverzögerung beim verschieben //
      7. /////////////////////////////////////////
      8. if (global.Fels_fallen = 1) exit; // Verlässt den Script sobald ein Fels auf Boulder fällt
      9. if (obj_Boulder_steht.zaehler < room_speed * 1) // Anzahl Sekunden der Verzögerung; diese Zeile entfernen
      10. {
      11. obj_Boulder_steht.zaehler += 1; //diese Zeile entfernen
      12. }
      13. else if (obj_Boulder_steht.zaehler >= room_speed * 1) // Anzahl Sekunden der Verzögerung diese Zeile entfernen
      14. { // diese Zeile entfernen
      15. // Felsbrocken verschieben
      16. if (obj_Boulder_steht.hspeed == 0 ) exit;
      17. if ( place_empty(x+obj_Boulder_steht.hspeed,y) )
      18. {
      19. x += obj_Boulder_steht.hspeed;
      20. // sound_play(snd_block);
      21. }
      22. } // diese Zeile entfernen
      23. }
      Alles anzeigen



      Gruss Drachen

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