Abenteuerspiel in JavaScript

4. Interagiere

In jedem Abenteuerspiel ist es wichtig, dass man mit der Welt interagieren kann, und z.B. Gegenstände sammeln kann. Deshalb programmieren wir zuerst den Befehl nimm.

Nimm

Hierzu brauchen wir für jeden Raum ein Array, das die Gegenstände (gegenstaende) angibt, und ein einfaches Array für unseren Besitz (besitz). gegenstaende ist ein dreidimensionales Array, die ersten beiden Koordinaten geben den Ort an und die dritte Koordinate zählt die Gegenstände auf, welche sich in dem Ort befinden. besitz ist nur ein eindimensionales Array. Man kann Elemente mit gegenstaende[x][y].push("Name") in das Array einfügen. Versuche das erst selbst am Anfang vom Programm einzufügen:

Datei: script.js


Die nimm Funktion muss jetzt erst überprüfen, ob der Gegenstand im Raum ist und ihn dann in unser besitz Array eintragen. Dazu brauchen wir was neues, nämlich einen Parameter, der der Funktion übergeben wird. Das ist in unserem Fall ein String z.B. "Schlüssel". Ein Parameter ist dann innerhalb der Funktion also den geschweiften Klammern, ein Variable die wir verwenden können. Wir wollen also in der Funktion z.B. die Variable gegenstand verwenden, um herauszufinden, was wir nehmen wollen. Schreibe eine Funktion, die einfach nur ausgibt, was wir nehmen wollen:


Teste den Befehl nimm etwas:

Wir brauchen noch weitere Befehle um eine richtige Funktion für den Befehl nimm zu programmieren. Zum Hinzufügen von Elementen kann man den Befehl push nehmen und mit arr.splice(i, 1) kann man das i-te Element von einem Array mit dem Namen arr entfernen. Um die Nummer des Elements innerhalb einer for Schleife zu bekommen kann man entries() verwenden:


Ergebnis:

Ändere auch die Funktion betrachte, damit sie alle Gegenstände ausgibt. Ein weiterer JavaScript Befehl namens return könnte jetzt nützlich sein. Dieser Befehl beendet die Schleife sofort und beendet die Funktion. Wenn man ``return "hallo"`` angibt, dann kann die Funktion auch einen Wert zurückgeben. Davon machen wir hier keinen Gebrauch. Versuchs erst selbst und dann spicke hier, so in etwa sollte die Datei script.js aussehen:


Test das Ergebnis (n und dann nimm apfel):

In seine Tasche schauen

Wir wollen natürlich wissen, was in unserer Tasche ist. Versuche daher mal, den Befehl ``tasche`` zu programmieren:


Test das Ergebnis (n und dann nimm apfel):

Gib

Das Ablegen von Gegenständen mit dem Befehl gib soll jetzt programmiert werden. Hierzu muss der Gegenstand aus deinem besitz entfernen und in den aktuellen ort gelegt werden. Versuche es selbst zu schreiben:

Test das Ergebnis (n und dann nimm apfel):

Download: script.js
Zurück zum vorherigen Kapitel Weiter zum nächsten Kapitel