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 à l'aide de io.read().
Les variables startingRoom, gardenRoom et player vous sont fournies depuis le défi précédent.
Modifiez la boucle de jeu pour :
- Afficher la description de la pièce actuelle du joueur
- Afficher l'invite
"> "(signe supérieur suivi d'une espace) sans saut de ligne : utilisezio.write()au lieu deprint(), puisqueio.write()affiche le 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éfinirgameRunningsurfalsepour quitter la boucle
La boucle doit continuer jusqu'à ce que l'utilisateur saisisse "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() contre ipairs()Récapitulatif - Fiche de personnage2Fonctions supplémentaires de la bibliothèque table
table.concat()construction de tables et unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des meilleurs scores5Projet : moteur d’aventure textuelle
Configuration du projet : la pièceRelier les pièces3Concepts avancés des fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu’est-ce qu’une fermeture ?Récapitulatif - Gestionnaire d’événements simpleEntraînez-vous par vous-même : Compilateur Lua en ligne