Benutzereingaben verarbeiten
Teil des Abschnitts Logik & Programmablauf der Lua-Journey von Coddy — Lektion 28 von 54.
Aufgabe
EinfachErweitere die Spielschleife (loop), um Benutzereingaben mit io.read() einzulesen und anzuzeigen.
Dir werden die Variablen startingRoom, gardenRoom und player aus der vorherigen Aufgabe zur Verfügung gestellt.
Passe die Spielschleife an, um:
- Die
descriptiondes aktuellen Raums des Spielers (player) mitprintauszugeben - Aufforderungstext
"> "(Größer-als-Zeichen gefolgt von einem Leerzeichen) ohne Zeilenumbruch auszugeben — verwendeio.write()anstelle vonprint(), daio.write()Text ohne abschließenden Zeilenumbruch ausgibt - Den Befehl (
command) des Benutzers mitio.read()einzulesen "You entered: "gefolgt von dem vom Benutzer eingegebenencommandauszugeben- Zu prüfen, ob der
command"quit"ist - wenn ja, setzegameRunningauffalse, um die Schleife zu beenden (end)
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 Logik & Programmablauf
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