Spielerzustand
Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 26 von 54.
Aufgabe
EinfachAufbauend auf Ihren verknüpften Räumen erstellen Sie eine player-Tabelle, um den aktuellen Standort des Spielers in der Spielwelt zu verfolgen.
Ihnen werden die Variablen startingRoom und gardenRoom aus der vorherigen Herausforderung zur Verfügung gestellt.
Erstellen Sie eine Tabelle namens player mit einem einzigen Schlüssel:
currentRoom: Setzen Sie diesen so, dass er auf denstartingRoomverweist.
Geben Sie den Namen des aktuellen Raums des Spielers aus und geben Sie dann die Beschreibung des aktuellen Raums des Spielers in separaten Zeilen aus.
Erwartetes Ausgabeformat:
Ancient Library
You find yourself in a dusty library filled with ancient books and scrolls.Probier es selbst
-- Create the starting room
local startingRoom = {
name = "Ancient Library",
description = "A dusty library filled with ancient tomes and scrolls.",
exits = {}
}
-- Create the garden room
local gardenRoom = {
name = "Secret Garden",
description = "A hidden garden with overgrown plants and a small fountain.",
exits = {}
}
-- Link the rooms together
startingRoom.exits["east"] = gardenRoom
gardenRoom.exits["west"] = startingRoom
-- Print the required output
print(startingRoom.name)
print(startingRoom.exits["east"].name)
print(startingRoom.exits["east"].exits["west"].name)Alle Lektionen in Logic & Flow
1Fortgeschrittene Table-Iteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen4Einführung in Metatables
Was ist eine Metatable?setmetatable & getmetatableDie __index-MetamethodeDie __newindex-MetamethodeDie __tostring-MetamethodeArithmetische Metamethoden Teil 1Arithmetische Metamethoden Teil 2Zusammenfassung – Schreibgeschützte Tabellen7Fortgeschrittene String-Manipulation
string.gsub() für ErsetzungenEinführung in String-Patternsstring.find()string.match()Iterieren mit string.gmatch()Rückblick – Log-File-Parser2Weitere Funktionen der Table-Bibliothek
table.concat()Tabellenerstellung & unpack()table.sort()Benutzerdefiniertes Sortieren mit FunktionenRückblick – Highscore-Tabelle5Projekt: Text-Adventure-Engine
Projekt-Setup: Der RaumRäume verknüpfen