Bonjour tout le monde je suis nouveau ici.
Je m'appelle Max et je programme en lua depuis 5 ans et c++ depuis 2 ans.
Ayant suivit votre tuto (assez complexe mais compréhensible) sur le lua et le c++ (partie 1)
je souhaitais pouvoir récupérer une table au lieu de la "table[2]" de votre exemple, une table par exemple :
matable = {}
for a = 1, 16 do
matable[a] = {x = 0, y = 0, id = 0}
end
voila merci se serrait gentil !
ps : le code suivant que jutilise ne me permet que de faire ceci :
maptable = {}
for a = 1, 16 do
matable[a] = {}
end
et le fameux code c++ que j'aimerais que vous m'aidiez à modifier ^^
Je vous remercie !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 for(int i = 0; i < 16; i ++) { //récupération du contenu d'un tableau Lua depuis le code C lua_settop(state,0); lua_getglobal(state,"matable"); if (!lua_istable(state,1)) { fprintf(stderr,"la variable tableau n'est pas un tableau\n"); lua_pop(state,1); } else { // on veut adresser la variable d'indice 2 lua_pushnumber(state,i); // maintnenant on a dans la pile l'indice à la place 1 et le tableau // à la place 2 (car on a empilé l'indice par dessus) // on demande à Lua de remplacer le haut de la pile (donc notre indice) // par le contenu de la case du tableau en lui donnant l'adresse du tableau lua_gettable(state,-2); //ne pas changer le 2 // on vérifie la donnée recuperée if (lua_isstring(state,-1)) { perso[i].value = lua_tostring(state,-1); //Ici jaimerai recup genre //Perso[i].x = matable[i].x //Perso[i].y = matable[i].y //etc... } // on dépile les deux éléments (la valeur de la case et le nom // du tableau) lua_pop(state,i); } }
Partager