Abenteuerspiel in JavaScript

3. Erkunde

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.js

Ergebnis:

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.

Zurück zum vorherigen Kapitel Weiter zum nächsten Kapitel