Menu
Coddy logo textTech

Gestire l'input dell'utente

Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 28 di 54.

challenge icon

Sfida

Facile

Estendi il ciclo di gioco per leggere e visualizzare i comandi dell'utente usando io.read().

Ti vengono fornite le variabili startingRoom, gardenRoom e player della sfida precedente.

Modifica il ciclo di gioco per:

  • Stampare la descrizione della stanza attuale del giocatore
  • Stampare il prompt "> " (segno di maggiore seguito da uno spazio) senza un'interruzione di riga: usa io.write() invece di print(), poiché io.write() visualizza il testo senza aggiungere un'interruzione di riga alla fine
  • Leggere il comando dell'utente usando io.read()
  • Stampare "You entered: " seguito dal comando digitato dall'utente
  • Controllare se il comando è "quit" - in tal caso, impostare gameRunning su false per uscire dal ciclo

Il ciclo dovrebbe continuare finché l'utente non digita "quit".

Formato dell'output previsto:

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: quit

Provalo tu

-- 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
end

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Lua online