
Merci de ta réponse
J’avais juste mis en commentaire ce qui ne fonctionnait pas puisque le reste etait ok.
Je ne comprends pas pourquoi on peut passer hero à perso.vie (qui devient donc hero.vie à l’interieur de la fonction) et que ça ne marche pas de passer sword à hero.mainD.arme pour que ça fasse hero.mainD.sword à l’intérieur de la même fonction.
tout est pourtant déclaré.
Voilà à la base ce que je voulais faire :
—
hero = {}
hero.inventaire = {}
hero.mainD = {}
hero.nom = « Aegon »
hero.vie = 100
hero.vieInit = 100
hero.force = 16
hero.dexterite =14
hero.mainD.sword = 14
hero.inventaire.potion = « soin »
—
ennemi = {}
ennemi.mainD = {}
ennemi.type = « ogre »
ennemi.nom = « Grak »
ennemi.mainD.masse = 16
ennemi.vie = 210
ennemi.vieInit = 210
ennemi.force = 18
ennemi.dexterite = 8
—
function Blesse(perso, degat)
perso.vie = perso.vie – degat
end
—
function Restauration(perso)
perso.vie = perso.vieInit
end
—
function Hit(perso, arme)
return perso.force + perso.mainD.arme
–local degat = perso.force + perso.mainD.arme
–return degat
end
—
print(« Vie hero de départ : « ..hero.vie)
print(« Vie ennemi de départ : « ..ennemi.vie)
deg = Hit(hero, sword)
Blesse(hero, deg)
deg = Hit(ennemi, masse)
Blesse(ennemi, deg)
print(« hero blessé : « ..hero.vie)
print(« ennemi bléssé : « ..ennemi.vie)
Restauration(hero)
Restauration(ennemi)
print(« hero vie restaurée : « ..hero.vie)
print(« ennemi vie restaurée : « ..ennemi.vie)