Processando a Entrada do Usuário
Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 28 de 54.
Desafio
FácilEstenda o loop do jogo para ler e exibir comandos do usuário usando io.read().
Você recebeu as variáveis startingRoom, gardenRoom e player do desafio anterior.
Modifique o loop do jogo para:
- Imprimir a descrição da sala atual do jogador
- Imprimir o prompt
"> "(sinal de maior que seguido por um espaço) sem uma nova linha - Ler o comando do usuário usando
io.read() - Imprimir
"You entered: "seguido pelo comando que o usuário digitou - Verificar se o comando é
"quit"- se for, definagameRunningcomofalsepara sair do loop
O loop deve continuar até que o usuário digite "quit".
Formato de Saída Esperado:
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: quitExperimente você mesmo
-- 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
endTodas as lições de Logic & Flow
1Iteração Avançada de Tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de Personagem2Mais Funções da Biblioteca Table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRecapitulação - Placar de recordes5Projeto: Engine de Aventura de Texto
Configuração do Projeto: A SalaConectando as Salas