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

As Daniel said, you need to change the order of x and y indices when you store/access elements. This should work:

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 に答える