Le début d'une nouvelle vie
Bonjour,
Après avoir commencé le parcours bases de la programmation, je viens d'arriver à la partie variable complexe. Comme demandé dans le cours, je viens poster ici la représentation d'un personnage de RPG selon moi:
hero = {} hero.nom = "Link" hero.nombreVie = 3 hero.level = 1 hero.xp = 0 hero.endurance = 5 hero.force = 10 hero.mana = 0 hero.inventaire = {} hero.inventaire.armes = {} hero.inventaire.armes.epee = {} hero.inventaire.armes.epee.id = "1" hero.inventaire.armes.epee.nombre = 1 hero.inventaire.armes.epee.duree = 5 hero.inventaire.armes.epee.puissance = 3 hero.inventaire.armes.arc = {} hero.inventaire.armes.arc.id = "1" hero.inventaire.armes.arc.nombre = 1 hero.inventaire.armes.arc.duree = 3 hero.inventaire.armes.arc.portee = 3 hero.inventaire.armes.arc.puissance = 2 hero.inventaire.armes.arc.vitesseTir = 2 hero.inventaire.bouclier = {} hero.inventaire.bouclier.id = "1" hero.inventaire.bouclier.nombre = 1 hero.inventaire.bouclier.duree = 3 hero.inventaire.bouclier.matiere = "Bois" hero.inventaire.tenues = {} hero.inventaire.tenues.id = "Tenue basique" hero.inventaire.tenues.nombre = 1 hero.inventaire.tenues.defense = 1 hero.inventaire.tenues.duree = 2 hero.inventaire.tenues.level = 1 hero.inventaire.potions = {} hero.inventaire.potions.id = "Soins" hero.inventaire.potions.pointSoin = 1 hero.inventaire.potions.nombre = 1
Je ne sais pas si ce que j'ai écris est bon ou pas donc si vous pourriez me faire vos retours pour que je puisse m'améliorer, ça serait vraiment sympa de votre part.
Bonne soirée à vous. Je continuerai mon apprentissage demain.
A bientôt pour la suite de mon aventure.
Nicolas
Bonjour,
d'un point de vue syntaxe, c'est impeccable, aucune faute. Au niveau de la logique il y a de l'amélioration à faire. Par exemple, utiliser uniquement des identifiants pour l'inventaire :
hero.inventaire = { 5, 8, 12, 6 }
Chaque nombre dans cette liste serait un identifiant utilisé avec une table de correspondance. Il est plus simple de séparer la logique des données.
Par exemple avoir une liste d'objets :
objets = { [1] = { nom = "Epee", type = "arme", degats = 5, prixVente = 10, prixAchat = 20 }, [2] = { nom = "Potion de soin", type = "consommable", effet = "soin", valeur = 15, prixVente = 15, prixAchat = 30 } -- [...] }
Cette liste pourrait être stockée dans un fichier qui ne contient que ça, ainsi quand tu auras besoin de modifier des valeurs tu te reportes uniquement à ce fichier.
Et dans ton code quand tu voudras récupérer les valeurs, tu pourras te référer à l'identifiant. Si ton inventaire est composé de la sorte :
hero.inventaire = {1, 2, 2, 2}
cela signifirait que le joueur possède 1 épée et 3 potions de soin.
Pour récupérer un objet, tu pourras faire quelque chose du genre :
local obj = objets[inventaire[3]] -- Récupère la troisième entrée de l'inventaire, à savoir une potion
J'espère que ça t'as éclairci un peu, tu n'en es pas encore là mais ça te montre un certain type de logique que tu pourras utiliser plus tard =)
@oktopuss Merci pour ta réponse, ça me permet de voir les choses d'une autre façon et de m'améliorer. Du coup en voyant ta réponse ça me paraît plus logique maintenant de faire comme cela.
Merci encore =)
- 6 Forums
- 262 Sujets
- 906 Posts
- 1 En ligne
- 45.6 {numéro}K Membres