2

我试图在多维表中获取一些 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
4

2 回答 2

7

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

于 2013-08-26T19:46:36.483 回答
2

正如丹尼尔所说,当您存储/访问元素时,您需要更改x和索引的顺序。y这应该有效:

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()
于 2013-08-26T22:58:47.373 回答