Benutzereingaben verarbeiten
Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 28 von 54.
Aufgabe
EinfachErweitern Sie die Spielschleife, um Benutzerbefehle mit io.read() zu lesen und anzuzeigen.
Ihnen werden die Variablen startingRoom, gardenRoom und player aus der vorherigen Herausforderung zur Verfügung gestellt.
Ändern Sie die Spielschleife wie folgt:
- Geben Sie die Beschreibung des aktuellen Raums des Spielers aus
- Geben Sie die Eingabeaufforderung
"> "(Größer-als-Zeichen gefolgt von einem Leerzeichen) ohne Zeilenumbruch aus - Lesen Sie den Befehl des Benutzers mit
io.read()ein - Geben Sie
"You entered: "gefolgt von dem vom Benutzer eingegebenen Befehl aus - Prüfen Sie, ob der Befehl
"quit"lautet - falls ja, setzen SiegameRunningauffalse, um die Schleife zu beenden
Die Schleife sollte so lange fortgesetzt werden, bis der Benutzer "quit" eingibt.
Erwartetes Ausgabeformat:
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: look
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: east
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: quitProbier es selbst
-- Room definitions
local startingRoom = {
description = "You find yourself in a dusty library filled with ancient books and scrolls."
}
local gardenRoom = {
description = "You are in a beautiful garden with blooming flowers and a fountain."
}
-- Player definition
local player = {
currentRoom = startingRoom
}
-- Create game loop
local gameRunning = true
while gameRunning do
print(player.currentRoom.description)
gameRunning = false
endAlle 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