Lernpfad:Einführung in Processing/12: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
Zeile 74: Zeile 74:


Nun kannst du mit Bedingten Anweisungen prüfen, ob sich diese Rechteck mit dem eines anderen Objektes überschneidet:
Nun kannst du mit Bedingten Anweisungen prüfen, ob sich diese Rechteck mit dem eines anderen Objektes überschneidet:
<syntaxhighlight lang="java" line="1">
<syntaxhighlight lang="java">
if( tropfenX >= eimerX ) {
if( tropfenX >= eimerX ) {
     if( tropfenX <= eimerX+eimerWidth ) {
     if( tropfenX <= eimerX+eimerWidth ) {
Zeile 80: Zeile 80:
             if( tropfenY <= eimerY+eimerHeight ) {
             if( tropfenY <= eimerY+eimerHeight ) {
                 // Die obere Linke Ecke des Toropfen (tropfenX|tropfenY)
                 // Die obere Linke Ecke des Toropfen (tropfenX|tropfenY)
                 // liegt im rechteck des Eimers!
                 // liegt im Rechteck des Eimers!
             }
             }
         }
         }
Zeile 86: Zeile 86:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{Hinweis|
Das Verschachteln von Bedingten Anweisungen in dieser Art wird schnell unübersichtlich.
Oft ist es besser, mehrere zusammenhängende Bedingungen zu ''verknüpfen''. Dazu gibt es die ''logischen Operatoren''.
Das Beispiel oben kann man auch schreiben als:
<syntaxhighlight lang="java">
if( tropfenX >= eimerX && tropfenX <= eimerX+eimerWidth
        && tropfenY >= eimerY && tropfenY <= eimerY+eimerHeight ) {
    // Kollision erkannt!
}
</syntaxhighlight>
<code>&&</code> bedeutet hier "UND". Also muss die erste Bedingung erfüllt sein "UND" die Zweite. Du kennst diese Verknüpfung schon von digitalen Schaltungen!
}}


== Das Spiel neu starten ==
== Das Spiel neu starten ==