MakeCode Konditionen

Mit wenn und aber....

Prinzipiell wird die Programmiersprache JavaScript durch die Blöcke bildlich abgebildet. Dadurch lassen sich auch Abfragen und Abhängigkeiten, die du vielleicht bereits kennengelernt hast, verwenden. So kannst du beispielsweise prüfen, ob eine bestimmte Bedingung erfüllt ist. Eine solche Abhängigkeit ist im folgenden Beispiel der "wenn"-Block.

Hier wird, ähnlich wie bei den Schleifen, zunächst die "wenn"-Bedingung geprüft. Trifft diese zu, so wird der dazugehörige Anweisungsblock einmal ausgeführt. Danach wird direkt mit dem Rest des Programms fortgefahren. Trifft die Bedingung nicht zu, so wird der Anweisungsblock einfach übersprungen.

TIPP: Während Schleifen die restliche Ausführung solange "blockieren", bis die Bedingung nicht mehr erfüllt ist, kann der Rest des Programms bei "wenn"-Bedingungen weiterhin ausgeführt werden.

Im folgenden Beispiel prüfen wir erneut den linken Hindernis-Sensor und schalten das Licht ein, wenn der Sensor ein Hindernis erkennt.

"Wenn"-Bedingungen lassen sich optional noch durch einen "Ansonsten"-Block erweitern. Hierbei wird entweder die Programmanweisung aus dem ersten Block ausgeführt, insofern denn die Bedingung zutrifft, oder ansonsten ein alternativer Block. Dieses Prinzip kann man sich wie eine Abzweigung einer Straße vorstellen, an der es entweder nach links oder nach rechts geht. Je nachdem ob die Bedingung zutrifft wird entschieden, welcher Weg eingeschlagen wird.

Im folgenden Code wird dauerhaft durch den "wenn"-Block geprüft ob der linke Hindernis Sensor ein Hindernis erkannt hat oder nicht. Nur wenn der Sensor ein Hindernis erkennt, wird das Licht eingeschaltet. In allen anderen Fällen wird der "ansonsten"-Block ausgeführt, also das Licht ausgeschaltet.

Selbstverständlich lässt es sich in einem Programm auch auf mehrere, verschiedene Bedingungen hintereinander prüfen. Im nächsten Schritt prüfen wir zuerst den linken Hindernis-Sensor, um die Scheinwerfer einzuschalten, und dann den rechten Hindernis-Sensor, um das Rückfahrlicht einzuschalten.

In diesem Fall setzen wir insgesamt zwei "wenn"-Bedingungen ein. Dies bedeutet, dass beide Bedingungen zur gleichen Zeit zutreffen können und somit sowohl die Scheinwerfer, als auch das Rückfahrlicht, gleichzeitig leuchten kann.

Doch das ist so nicht immer gewollt. Manchmal reicht ein "entweder-oder" einfach nicht. Für diesen Fall lässt sich die "wenn"-Bedingung um beliebig viele Zusatzblöcke erweitern. Hierbei werden mehrere "wenn"-Abfragen hintereinander gesetzt. Der große Unterschied hierbei ist jedoch, dass , egal wieviele Abfragen hintereinander gesetzt werden, nur eine einzige Bedingung zutreffen kann. Sobald eine Bedingung erfüllt wird, wird der zugehörige Anweisungsblock ausgeführt und alle anderen Bedingungen werden übersprungen.

Im folgenden Beispiel prüfen wir erneut die beiden Hindernis-Sensoren. Doch hierbei wird die Abfrage über eine zusammenhängende "wenn"-Bedingung, und nicht über zwei einzelne realisiert. Dies bedeutet, dass nur entweder die Scheinwerfer oder das Rückfahrlicht leuchten kann, jedoch niemals beides gleichzeitig.

Sollten beide Bedingung erfüllt sein, also in diesem Fall ein Hindernis mit dem linken und dem rechten Sensor erkannt worden sein, wird bei einer "wenn - sonst wenn - ansonsten"-Abfrage immer die erste zutreffende Abfrage ausgeführt. In diesen Fällen ist das immer die Funktion, die der Abfrage des linken Hindernissensors zugeordnet ist.

Achtung!

Ihr Webbrowser ist veraltet. Wechseln Sie jetzt zu einem aktuellen Browser für mehr Sicherheit, Geschwindigkeit und den besten Komfort auf dieser Seite.