Husi's If-Bedingungen Tutorial

      Husi's If-Bedingungen Tutorial

      In diesem Tutorial erkläre ich in allen Einzelheiten, wie man logische Operatoren erstellt und diese auf If-Bedingungen,
      worum es auch hauptsächlich hier geht, verwenden könnt.
      Ich mache dieses Tutorial, da ich schon oft bemerkt habe, dass es vielen Anfängern nicht ganz klar ist, wie If-Bedingungen funktionieren.

      Vorab:
      If-Bedingungen sind einfache Abfragen, ob zum Beispiel ein Objekt mit
      einen anderem kollidiert.


      Gerade habe ich von logischen Operatoren gesprochen. Hört sich fremd an und was soll das mit If-Bedingungen zu tun haben? Sehr viel sogar.

      Als erstes schauen wir uns logische Vergleiche an. Das Wort Operator kennt man auch aus der Mathematik, wie beispielsweise den
      Additions-Operator. Auch hier kann man sich das ganze sehr ähnlich vorstellen.

      Als Ergebnis kann nur false oder true bzw. 0 oder 1 herauskommen
      (Datentyp bool). Die Vergleichsoperatoren prüfen ein Wert mit dem anderen. Wenn die „Prüfung richtig war“, zum Beispiel der eine
      Wert dem anderen gleicht, wird true und ansonsten false als Ergebnis kommen.

      Alle Vergleichsoperatoren im Überblick:
      VergleichsweiseSchreibweise
      größer als>
      kleiner als<
      größer gleich>=
      kleiner gleich<=
      genau gleich==
      ungleich!=

      Beispiel: ​(wert1 != wert2) ergibt true wenn wert1 nicht gleich wert2 ist

      Hinweis:
      Klammern kann man wie bei der Mathematik benutzen, sodass erst alles
      in der Klammer „ausgerechnet/verglichen“ wird. Diese darf man
      natürlich so oft wie man will setzen.


      Texte bzw. Strings kann man schlecht vergleichen, ob sie größer oder kleiner sind, da es halt keine Zahlen sind. Hier gibt es nur zwei
      Vergleichsoperatoren: == und != .


      Als nächstes schauen wir uns die Verknüpfungen an. Mit der Verknüpfung können wir beispielsweise sagen, wenn das eintrifft oder das andere
      eintrifft, ist das Ergebnis true.

      Verknüpfungen im Überblick:
      VergleichsweiseSchreibweise
      (Möglichkeiten mit , getrennt)
      Und, wenn wert1 und 2 auf true
      and, &&
      Oder, wenn wert1 und/oder 2 auf trueor, ||
      Entweder oder, wenn wert1 oder 2 auf true, nicht beide
      xor, ^^

      Beispiele:
      ​(wert1 or wert2) Wenn wert1 oder/und 2 auf true ist, ist Ergebnis true
      ​((wert1 and wert2) or (wert3 xor wert4)) Wenn wert1 und 2 auf true oder entweder wert3 oder 4 true ist, ist Ergebnis true


      Rechnen wir mal das letzte Beispiel anschaulich aus.
      wert1=true; wert2=false; wert3=false; wert4=true;
      ((true and false) or (false xor true))
      =(false or (false xor true))
      =(false or true)
      =true




      Was hat das ganze mit If-Bedingungen zu tun? Wie gesagt sehr viel :P .
      Eine If Bedingung ist im Grunde so aufgebaut:
      if (Bedingung){
      Anweisung/Codeblock
      }

      Nur wie genau soll man die Bedingung „formulieren“? Im Grunde ganz einfach.
      Wenn man in den Klammern vom if → true drinne stehen hat, wird die Anweisung ausgeführt.
      if(true){
      //dieser Code wird ausgeführt!
      }



      Jetzt kommen die logischen Operatoren ins Spiel. Mit denen können wir ja true oder false „ausrechnen“ und in dem Fall Zahlen vergleichen (keine Texte/Strings).
      Beispiel:
      if((alter >= 18) or (unterschrift)){Code}



      Auch Funktionen, wie place_meeting geben true zurück, wenn die Kollision stattgefunden hat und false, wenn nicht.

      Um jetzt auch noch ein If zu verneinen, also wenn false ist, führe die
      Anweisung aus, dafür gibt es 3 verschiedene Möglichkeiten:
      1. if(!Bedingung)…
      2. if(not Bedingung)...
      3. if(Bedingung == false)...
      Hinweis:
      Alle diese Möglichkeiten drehen einfach das true in ein false um und umgekehrt


      Das war's theoretisch schon mit dem if. Im Anschluss gibt es aber noch das else. Wenn man else übersetzt, heißt es ansonsten
      und auch hier bedeutet es das. Wenn die If-Abfrage vorher false war, wird die Anweisung/der Codeblock beim else ausgeführt.
      if (Bedingung) {Code}
      else{Code}

      Hinter dem Else kann man dann auch noch ein If packen. Das bedeutet so viel
      wie: „Wenn das vorherige nicht true war aber das jetzt hier im If“.
      if (Bedingung) {Code}
      else if (ansonstenBedingung) {Code}
      else {Code}




      Das war's auch schon. Ich hoffe ich konnte euch weiter helfen :)
      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
      Wie du ja bestens weißt Husi, bin ich noch GML Anfänger oder besser sogar Programmieranfänger. Ich kann zwar mittlerweile einige Dinge selbst und auch ohne groß in den Dokumentationen nachzuschauen umsetzen, aber das xor beispielsweise hatte ich so noch nicht auf dem Zettel und das könnt mir auch gleich bei meinem Waffenauswahl-System helfen.

      Tolles Tutorial Husi, gut zu lesen, sehr verständlich und schön beispielhaft Dargestellt. Ich freue mich schon auf die nächsten Tutorials von dir :thumbup:
      Schön, dass du so engagiert bist Husi!
      Alles schön erklärt und es ist super, dass du auch die verschiedenen Operatoren die man in den booleschen Ausdrücken verwendet auflistest!

      Grüßli Müsli
      Sorm
      LERNE DIE GESAMTE GAME MAKER LANGUAGE IN MEINEM VIDEO-KURS: