IF-Anweisung mit AND / OR

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Bruno

IF-Anweisung mit AND / OR

Beitrag von Bruno »

Guten Morgen,

ich hab da so ein kleines Problem und zwar mit der Programmiersprachen von AGS. :roll:

Kann man nicht mehrere Bedingungen in eine IF-Anweisung haun?
zb

if (x == 1 and y==0)
...
oder if (x==1 or y==0)

das mit dem and ist ja nicht ganz so schlimm, da kann man die if anweisungen ja auch einfach untereinander schreiben. aber bei or müsste man das ereignis unnötig oft kopiern. :/

weiss wer ne lösung?

falls wer die fehlermeldung wissen will...
bei if(x==1 and y==0) --> parse error in expr near '1'
Rulaman
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 133
Registriert: 25.09.2004, 18:13

Beitrag von Rulaman »

ersetz mal AND durch &&
und UND durch ||

dann klappts
Bruno

Beitrag von Bruno »

super, danke! :D
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Nur ein kleiner Tipp am Rande:
Es funktioniert so einwandfrei, aber um der Übersichtlichkeit Willen, besonders wenn man noch mehr als zwei Bedingungen hat, sollte man ein paar Klammern setzen und es so schreiben:

if ((x == 1) && ( y==0))
bzw
if ((x==1) || (y==0))

aber, wie gesagt, man braucht es hier eigentlich nicht.
Bruno

Beitrag von Bruno »

danke für den tipp, wobei ich persönlich lieber so wenig klammern wie möglich mache :roll:

aber die kaffeemaschine läuft jetzt einwandfrei :>
Locki

Beitrag von Locki »

Wieso muss man da so blöde Klammern setzen ?
Ist doch total unlogisch und unansehlich...
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

unansehlich sei mal dahingestellt, aber unlogisch ist es nicht, denn es gibt einen sogenannten operatorvorrang beim programmieren.
das ist so was ähnliches wie in mathe wo es heisst punktrechnung geht vor strichrechnung.
bei gesetzten klammern kann nichts passieren.


hier in jscript, ist aber in ags ähnlich:
http://msdn.microsoft.com/library/deu/d ... edence.asp

solche fehler sind danach oft schwer zu finden und ärgerlich, deswegen hast du das ganze entweder so intus, dass du nur dort klammern setzt wo du musst, oder du setzt lieber eine klammer zuviel und bist auf der sichern seite.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Du kannst als Schreibweise wählen:

if(x==1 && y==1)

oder

if((x == 1) && (y == 1))

beides geht, aber zweites würde ich dir eher empfehlen. Bei der ersten Schreibweise musst du tierisch aufpassen, dass du nicht irgendwo einen Reihenfolgenfehler machst.

Ganz nebenbei kenne ich keine Programmiersprache, wo nicht diese Vorgehensweise angewandt wird... :?
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Antworten