Um sich auf dem Spielfeld zu bewegen, führen wir neue Befehle ein: n, s,
w, o für Norden, Süden, Westen, Osten. Dabei soll man nicht aus dem Spielfeld
fallen, d.h. x und y müssen nach der Änderung immer größer oder gleich null sein
und immer kleiner als xmax bzw. ymax sein, um das zu prüfen brauchen wir eine
wenn-sonst Abfrage. Auf Englisch heißt wenn if und sonst else.
Wir testen das mal. Füge ganz unten im code hinzu:
Datei: script.jsErgebnis:
Beachte, dass man bei der Bedingung das Gleichheitszeichen zweimal eingibt ==. Das Gegenteil von
gleich ist ungleich und das gibt man mittels != ein:
Ergebnis:
Wenn man mehrere Bedingungen überprüfen will, kann man if Befehle verschachteln:
Ergebnis:
Oder man kann "wenn x gleich 0 ist und y gleich null ist", schreiben. Dazu verwendet man ein doppeltes
Und-Zeichen &&:
Ergebnis:
Es gibt auch ein Oder-Zeichen ||. Damit kann man eine Bedingung machen, welche wahr wird, wenn
z.B. x==5 oder y==5. Für | muss man auf der deutschen Tastatur die
rechte Alt Gr und die Taste links von dem Y drücken.
Ergebnis:
Du siehst der Computer versteht x==5 oder y=5 anders als wir Menschen. Für ihn ist
das auch wahr, wenn beide gleich 5 sind. Lass uns jetzt den Code für Norden, Süden, Westen, Osten schreiben
(4 neue Befehle n,s,w,o). Unsere Bedingungen sind, dass es diesen Raum gibt. Wenn wir in JavaScript eine
Variable (z.B.: a) und auch Einträge in einem Array nicht definieren, so kann man das
überprüfen. In diesem Fall ist a==undefined wahr. Zusätzlich dürfen wir nicht das Spielfeld
verlassen, müssen also die Array-Grenzen einhalten. Wenn man nach Norden geht, muss man prüfen, ob
y nach der Erhöhung kleiner als ymax ist:
Wenn man nach Süden geht muss man überprüfen ob y nach der Erniedrigung größer gleich null ist:
Hierbei ist zu beachten, dass man erst die Grenzen überprüft, also z.B. x-1>=0 und dann
ort[x-1][y]!=undefined testet. Denn wäre x==0, dann würde
ort[-1][y]!=undefined zu einem Fehler führen. x-1>=0 && ort[x-1][y]==undefined ist
aber erlaubt, da falls x-1>=0 falsch ist, der zweite Ausdruck nicht mehr ausgeführt wird. Wir
Menschen machen das übrigens genauso. Ein Beispiel: Man darf nur über die Fußgängerampel, wenn diese grün
ist und kein Rettungsfahrzeug mit Sirene die Straße kreuzt. Wenn der erste Ausdruck
falsch ist, die Ampel also rot ist, dann brauche ich mich auch nicht nach einem Rettungsfahrzeug umsehen.
Versuchs mal selbst zu schreiben. Hier ist die Datei script.js vom letzten Kapitel:
Ergebnis:
Versuche die neuen Befehle n, s, w und o aus und erkunde deine Welt.