Lidando com a Entrada do Usuário
Parte da seção Lógica e fluxo 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:
- Exibir a descrição do cômodo atual do jogador
- Exibir o prompt
"> "(sinal de maior que seguido de um espaço) sem uma quebra de linha: useio.write()em vez deprint(), já queio.write()exibe texto sem adicionar uma quebra de linha no final - Ler o comando do usuário usando
io.read() - Exibir
"You entered: "seguido do comando digitado pelo usuário - 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
-- Salas do jogo
local startingRoom = {
description = "You find yourself in a dusty library filled with ancient books and scrolls."
}
local gardenRoom = {
description = "You step into a beautiful garden with blooming flowers and a gentle breeze."
}
-- Jogador
local player = {
currentRoom = startingRoom
}
-- Loop do jogo
local gameRunning = true
-- TODO: Escreva o loop while aqui
Todas as lições de Lógica e fluxo
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çõesRevisão - Placar de pontuações máximas5Projeto: Motor de Aventura Textual
Configuração do Projeto: A SalaConectando SalasPratique por conta própria: Compilador de Lua online