今私はいくつかのテストをしていますが、私はこのコードで何が間違っているのかわかりません - どんな考えですか?関数、テーブルとforルア
function IATetris(Pieza,Rotacion,Array)
io.write("The table the script received has: ",Pieza,"\n")
RotacionInicial = Rotacion
PosInicial = 7
final = #Array --this gets the size of the array
i = 1
for y = 1, 20 do --the array of my tetris board is 20 in x and 14 in y so it would be something like this Array2D[20][14]
io.write(" First for y ",y,"\n")
Array2D[y]={} --clearing the new array
for x = 1,14 do
io.write(" First for x ",x,"\n")
if i == final then break end
io.write(" First for i",i,"\n")
Array2D[y][x] = Array[i]
i= i+1 --seems like you cant use i++ in lua
end
end
end
私がやっていることは、2つの整数と1つの配列を得ることです。私は、プログラムが実際に起こっている場所を確認するには、コンソールで書くこと、そして私が取得していますしています...ですよ
最初のログメッセージ:"The table the script received has: "
と第二のログメッセージ:" First for y "
しかし、私はそれ以上のものは得られないので、おそらくプログラムはそこでクラッシュしていますか?この関数は20秒ごとに呼び出されます。なぜ私はこれが起こっているのか分かりません。どんな助けでも本当に感謝します、ありがとう。
Wuaありがとう、私はこのArray2D [y] = {}を実行すると思ったような高水準のスクリプトですので、同時にローカルArray2Dを実行すると同時に宣言されるでしょう= {}これは非常にありがとう – Makenshi
ようこそ。私はpcallの使用についての彼の注意が有効なものであることから、Mudの回答も高く評価しました。この場合は、Luaからエラーメッセージを受け取るのに役立ちます。しかし、それはあなたのためにこれを行うには、通常、ホストプログラムまでです。 – MattJ