错误:main.lua:22:尝试索引字段'?' (零值)

时间:2013-08-26 19:19:59

标签: arrays lua lua-table

我正在尝试在多维表中获得一些0和1,但我无法让它工作。我搜索了很多帖子,但我找不到解决方法。这是代码:

    generatedTerrain={
{0,0,0,0,0},
{0,0,0,0,0}
}
x=0
y=0

    function mapGen()
        for y=1,67 do
            generatedTerrain[y]={}
            for x=1,89 do
                generatedTerrain[x][y] = math.random(0,1) --This doesn't work
            end
        end
    end
mapGen()
end

2 个答案:

答案 0 :(得分:7)

您已经反转了表格中的x和y索引,因此您在其中创建了67个空表,但在下一个循环中,您尝试从1到89进行访问

答案 1 :(得分:2)

正如Daniel所说,您需要在存储/访问元素时更改xy索引的顺序。这应该有效:

local generatedTerrain={}
function mapGen()
  for y=1,67 do
    generatedTerrain[y]={}
    for x=1,89 do
      generatedTerrain[y][x] = math.random(0,1) --<-- changed order or x,y
    end
  end
end
mapGen()