Else problem

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

  • Ich habe ein kompliziertes Problem.Ich habe in meinen Spiel 3 Objekte (Spieler1,Spieler2 und ein Gegner).Der Gegner Folgt Spieler1 immer schrittweise.Wenn Spieler1 nicht mehr im Spiel ist,soll der Gegner
    dann als nächstes Spieler2 verfolgen.Das habe ich mit "else" versucht aber es kommt immer eine Fehlermeldung.Als Code habe ich das hier verwendet:


    if global.var = 1
    {
    if x > Kampffeld_spieler.x
    x -= 50;
    else if x < Spieler1.x
    x += 50;
    if y > Spieler1.y
    y -= 50;
    else if y <Spieler1.y
    y +=50;
    else if x >Spieler1.x
    x -= 50;
    else if x <Spieler1.x
    x += 50;

    }

    else if global.var >= 1

    {
    if x > Spieler2.x
    x -= 50;
    else if x < Spieler2.x
    x += 50;
    if y > Spieler2.y
    y -= 50;
    else if y <Spieler2.y
    y +=50;
    else if x > Spieler2.x
    x -= 50;
    else if x < Spieler2.x
    x += 50;

    }
  • Der Aufbau ist glaube ich nicht richtig.

    Es müsste so aussehen:

    GML-Quellcode

    1. if (<expression>)
    2. {
    3. <statement>
    4. ...
    5. <statement>
    6. }
    7. else
    8. {
    9. <statement>
    10. }


    also die geschweiften Klammern fehlen bei dir komplett (bis auf der IF abfrage der globalen Variable). Und "else if" ist auch nicht korrekt.

    GML-Quellcode

    1. if global.var = 1
    2. {
    3. if x > Kampffeld_spieler.x
    4. {
    5. x -= 50;
    6. }
    7. else
    8. {
    9. x += 50;
    10. }
    11. ....
    12. ....
    13. ....
    14. }
    Alles anzeigen


    So in etwa sollte es gehen.
  • Die geschweiften Klammern sind nicht notwendig, wenn sich die Bedingung nur auf die darauf folgende zeile Code bezieht.
    Und "else if" geht sehr wohl. Wie sonst stellt man eine alternative Abfrage im Else-Teil.

    Hab mir deinen Code jetzt nicht im Detail angeschaut, aber die Fehlermeldung wäre sicher praktisch um den Fehler zu identifizieren.
    Eine mögliches Problem könnte "global.var" sein, da man mit var schon lokale Variablen deklariert.
  • Ich könnte mir vorstellen, dass schon dein Variablenname nicht funktioniert. "var" ist schon als Keyword vergeben, glaube also kaum, dass du global.var erstellen und abfragen kannst.

    Und was soll Kampffeld_spieler sein? Das scheint da nicht hinzugehören...
    Einige meiner Spiele: