Husi's Schleifen Tutorial

      Husi's Schleifen Tutorial

      Schleifen

      Was sind Schleifen?

      Mit Schleifen kann man Code beliebig oft wiederholen und dabei sogar
      Werte verändern. Man kann zB. Angeben, wie oft der Code wiederholt
      werden soll, oder ob er so lange wiederholt werden soll, bis etwas
      bestimmtes eintrifft, bzw. nicht eintrifft.

      Man kann zB. Auch eine Nachricht meinetwegen 100 Mal anzeigen lassen und
      auch dort ausgeben, wie oft der Code wiederholt bzw. die Nachrichten
      angezeigt wurden (mehr dazu später). Und das ganze in 2 kleine
      Zeilen!!

      Anwendung



      Es gibt verschiedene Arten von Schleifen.

      Meine Favouriten sind die While- und die For-Schleife ^^

      Repeat - Schleife


      Syntax: repeat(Anzahl){Code/Anweisung}
      Anzahl heißt,wie oft der Code wiederholt werden soll.

      Beispiel:

      GML-Quellcode

      1. repeat(10) {
      2. show_message("wiederholende Nachricht");
      3. }




      While - Schleife
      (Kopfgesteuerte Schleife)

      Syntax: while(Bedingung){Code/Anweisung}

      Bedingung heißt, dass der Code so lange wiederholt wird, so lange diese
      erfüllt wird.
      ___________________
      Bekannt ist die Schleife im „Endlos Modus“. Hier läuft diese
      unendlich bis man sie mit einem Befehl beendet. (Mehr dazu
      später)

      Beispiel:

      GML-Quellcode

      1. i = 0;
      2. while(i < 10){
      3. show_message(string(i)+". Nachricht");
      4. i += 1;
      5. }





      For - Schleife (Zählerschleife)

      Syntax: for(Initialisierung; Bedingung; Operation) {Code/Anweisung}

      Initialisierung soll heißen, dass man dort eine Variable initialisieren/deklarieren/erstellen
      (gibt’s da viele Schreibweisen :D ) soll.
      ___________________
      Bedingung wie bei der While - Schleife
      ___________________
      Operation bedeutet, dass man hier eine Variable addiert, subtrahiert,
      multipliziert oder dividiert, oder whatever.


      Beispiel:

      GML-Quellcode

      1. for(i = 0; i < 10; i += 1){
      2. show_message(string(i)+". Nachricht");
      3. }





      Do-Loop - Schleife
      (Fußgesteuerte Schleife)

      Syntax: do {Code/Anweisung} until(Bedingung)

      Wiederholt, bis die Bedingung erfüllt ist.
      Die Schleife wird min. 1 mal ausgeführt, da die Bedinung immer
      am Ende der Schleife geprüft wird.

      Beispiel:

      GML-Quellcode

      1. do{
      2. show_message(string(i)+„. Nachricht“);
      3. i += 1;
      4. }until (i >= 10)





      Hinweis: Bei Zählervariablen, braucht man diese meistens nicht im nächstem Event. Deshalb macht es mehr Sinn ein var beim erstellen davor zu setzen, um den Arbeitsspeicher weniger zu belasten!


      Mit dem Befehl break; kann man die Schleife abbrechen bzw. da raus gehen.
      Mit dem Befehl continue; kann man wieder zum Anfang zur Schleife ganz
      oben hin springen.


      Außerdem
      müsst ihr aufpassen, dass ihr nicht in eine Endlos Schleife gerät,
      sonst hängt sich euer Spiel auf.





      So.
      Ich hoffe, dass das hier Anfängern helfen kann. Ich weis ich hab in
      meiner Vergangenheit viele schlechte Tutorials gemacht. Mit dem hier
      wollte ich das ändern ^^
      - Dieser Editor ist echt extrem blöd. Ich hab das alles in open office vor geschrieben. Also wer das haben will, kann ich auch hochladen ^^
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Husi012“ ()

      Mir gefällt das gut :)
      Vielleicht in der for-Schleife noch ergänzen, dass anstelle von i+=1 oft i++ verwendet wird und das es eigentlich gleichbedeutend ist (oder irre ich mich da ?)
      GML lernen geht leicht :)
      1. http://www.gm-d.de/help/ (deutsch)
      2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
      3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
      Jo stimmt schon. Das war halt eher für Anfänger gedacht, denen ich nicht was mit i++ zumuten wollte ^^
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
      Ah danke. Kannte ich noch gar nicht ^^

      Ich hab gemerkt dass ich die Anführungszeichen von openOffice übernommen hab. Ich komm grad nicht dazu dir um zu ändern. Mach ich dann aber sobald ich kann ^^
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
      Ich fände es auch super wenn du noch ein paar praktische Beispiele mit einbauen würdest.
      Einfach um das ganze noch ein wenig von der Documentation abzuheben...
      Außerdem könnte man sich das Ganze so sicher besser vorstellen.

      Sorm
      LERNE DIE GESAMTE GAME MAKER LANGUAGE IN MEINEM VIDEO-KURS:

      Sorm schrieb:

      Ich fände es auch super wenn du noch ein paar praktische Beispiele mit einbauen würdest.
      Einfach um das ganze noch ein wenig von der Documentation abzuheben...
      Außerdem könnte man sich das Ganze so sicher besser vorstellen.

      Sorm


      Hm? Er hat doch praktische Beispiele eingebaut. Die Code-Snippets sollten doch zum Verstehen vollkommen ausreichen, da braucht man ja jetzt kein halbfertiges Spiel hinklatschen.^^
      Ich überlege mir am besten noch paar Beispiele die ich ganz unten hin mache.

      Mir fällt nur nichts wirklich gutes ein weil viele Funktionen nicht mit Anfängern vertraut sind und die dann eher ein großes Fragezeichen haben.
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe