• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mehrere Bedingungen in if

hallo wie mache ich mehrere verschtelte bedngungen in if?
geht sowas in dieser richtung:
Code:
if ((hallo==1 && hallo ==2) || (bla==1 && bla == 5))
{tuwas();
}
in worten: tuwas wenn hallo gleich 1 und hallo gleich2 oder bla gleich 1 und bla gleich 5 ist
oder komme ich darum nicht herum:
Code:
if(hallo==1 && hallo ==2){tuwas();}
if(bla==1 && bla == 5){tuwas();}
bei mir ist der tuwas-Teil leider relativ lang und ich habe 8 solcher bedingungen bei denen immer das selbe passieren soll :/
PS: es geht bei meinem sanke-projekt um die richtungen.. wenn die, der aktuellen bewegungsrichtung entgegengesetzte, pfeiltaste gedrück wird soll die richtung beibehalten werden und nicht umgekehrt werden
gruß
 
Werbung:
Eine Variabel kann nicht gleichzeitig zwei Werte haben, das ist unlogisch.

EDIT: und wenn deine Bedingungen zu umfangreich sind, kannst diese auch in eine Funktion auslagern.
 
stimmt dummes beispiel :D ist aber irrelevant für die frage ;)
ich schließe dann mal daraus dass ich das in ne funktion packen muss und 8 einzelne bedingungen machen muss :/

edit: wie meinst du die bedingungen auslagern??? meinst du den inhalt also tuwas()??
 
Werbung:
Eine Funktion kann einen Rückgabewert haben:

Code:
if(istEsWahr(wert1, wert2)) tu_noch_was();

function istEsWahr(p1, p2) {
     return p1 == 1 && p2 == 2 || p1 == 2 && p2 == 1;
}
 
Ich denke er wollte lediglich auf das Prinzip heraus, dass man Bedingungen verschachteln kann... Was ja auch stimmt.

Hier ein paar Regeln:

Arithmetische Operatoren wie gewohnt: Punkt vor Strich, Klammern gehen vor.

Vergleiche und Verknüpfungen werden von links nach rechts abgearbeitet.
Code:
a < b < c  && c > d
// ist dasselbe wie
( ( a < b ) < c ) && ( c > d )

Zuweisungen werden von rechts nach Links abgearbeitet.
Code:
x = ( a = b * c + 4 ) + 8
// ist dasselbe wie
x = ( ( a = ( ( b * c ) + 4 ) ) + 8 )
 
Zuletzt bearbeitet:
wäre das also richtig?
Code:
function tastendruck (ereignis) {

                      window.richtung = window.a_richtung;
                        if (!ereignis)
                        ereignis = window.event;
                     richtung = ereignis.which || ereignis.keyCode;
                     if ((richtung == 37 && a_richtung == 39)||(richtung == 39 && a_richtung == 37)||(richtung == 38 && a_richtung == 40)||(richtung == 40 && a_richtung == 38)){
                     
                         richtung = a_richtung;
                     
                     }
richtung ist die neue richtung und a_richtung die alte
sind die richtungen entgegengesetz soll die alte richtung beibehalten werden
 
Werbung:
EDIT: Murks.

Ich seh gerade es sind ja zwei Variabeln. Vermutlich ist das richtig, aber es sieht blöd aus.


EDIT 2: da du aber richtung mit richtung_a gleichsetzt, wird die Bedingung nicht eintreten.
 
hat in diesem fall keine!
wenn man das substituiert(kann man das beinm programmieren sagen?)
sieht das so aus:
Code:
if(bed1||bed2||bed3||bed4)
tu das
daher die klammern oder geht das nicht?
 
Werbung:
Zurück
Oben