Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Je montre en détail le soucis que j'ai eu avec lua, voir si quelqu'un a une autre idée meilleure:

Exemple 1

table={
{1,1,1,1,1},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{1,1,1,1,1}
}

currenttable={}

function _init()

currenttable=table
currenttable[1][1]=3

-- je copie la table dans current table et je change le tout premier element de la premiere ligne

end


function _draw()

cls()

print(table[1][1]) --> retourne 3
print(currenttable[1][1]) --> retourne 3

end

ça me retourne 3, 3 et mois je ne veux pas modifier les valeurs sources de table je veux donc 1,3

Pour l'instant j'ai trouvé que ça:

table={
{1,1,1,1,1},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{1,1,1,1,1}
}

newtable={}

newtable={
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0}
}

function chgtable(ptable)
-- la fonction va copier un à un les valeurs de table dans new table
for i=1,#ptable do
for j=1,#ptable[i] do
newtable[j][i]=ptable[j][i]
end
end

return newtable
end


function _init()

newtable=chgtable(table)
newtable[1][1]=3

end

function _draw()

cls()
print(table[1][1])--> retourne 1
print(newtable[1][1])--> retourne 3

end

Voila, j'ai cherché et visiblement lua ne permet pas la copy des tables de base genre copy(table)...