8.581
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) |
||
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 | <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 | // 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 == |
Bearbeitungen