La boucle de jeu
Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 27 sur 54.
Défi
FacileImplémentez la boucle de jeu principale qui affiche continuellement la description de la pièce actuelle tant que le jeu est en cours d'exécution.
Vous disposez des variables startingRoom, gardenRoom et player du défi précédent.
Créez une variable appelée gameRunning et définissez-la sur true.
Écrivez une boucle while qui continue tant que gameRunning est true. À l'intérieur de la boucle :
- Affichez la description de la pièce actuelle du joueur
- Définissez
gameRunningsurfalsepour quitter la boucle (pour l'instant, nous ajouterons une gestion appropriée des entrées dans la prochaine leçon)
Format de sortie attendu :
You find yourself in a dusty library filled with ancient books and scrolls.Essayez vous-même
-- Create the starting room
local startingRoom = {
name = "Ancient Library",
description = "You find yourself in a dusty library filled with ancient books and scrolls."
}
-- Create the garden room
local gardenRoom = {
name = "Secret Garden",
description = "A beautiful garden with exotic flowers and a mysterious fountain."
}
-- Link the rooms
startingRoom.nextRoom = gardenRoom
gardenRoom.previousRoom = startingRoom
-- Create the player table
local player = {
currentRoom = startingRoom
}
-- Print the player's current room name and description
print(player.currentRoom.name)
print(player.currentRoom.description)Toutes les leçons de Logic & Flow
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