Gérer les entrées utilisateur
Fait partie de la section Logique et flux du Journey Lua de Coddy — leçon 28 sur 54.
Défi
FacileÉtendez la boucle de jeu pour lire et afficher les commandes de l'utilisateur en utilisant io.read().
Les variables startingRoom, gardenRoom et player du défi précédent vous sont fournies.
Modifiez la boucle de jeu pour :
- Afficher la description de la pièce actuelle du joueur
- Afficher l'invite
"> "(signe supérieur suivi d'un espace) sans saut de ligne — utilisezio.write()au lieu deprint(), cario.write()affiche du texte sans ajouter de saut de ligne à la fin - Lire la commande de l'utilisateur à l'aide de
io.read() - Afficher
"You entered: "suivi de la commande saisie par l'utilisateur - Vérifier si la commande est
"quit"- si c'est le cas, définissezgameRunningàfalsepour sortir de la boucle
La boucle doit continuer jusqu'à ce que l'utilisateur tape "quit".
Format de sortie attendu :
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: quitEssayez vous-même
-- 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
endToutes les leçons de Logique et flux
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() vs. ipairs()Récapitulatif - Fiche de personnage2Plus de fonctions de la bibliothèque table
table.concat()Construction de table & unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des scores5Projet : Moteur de jeu d'aventure textuel
Configuration du projet : La pièceRelier les pièces3Concepts avancés sur les fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu'est-ce qu'une closure ?Récapitulatif - Gestionnaire d'événements simple