Прямо сейчас я делаю несколько тестов, но я не могу найти, что не так с этим кодом - любая идея?функции, таблицы и для Lua
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 секунд или около того. Я действительно не знаю, почему это происходит. Любая помощь будет действительно оценена, спасибо.
WOW спасибо, так как lua - такой высокий уровень скриптинга, который я думал, выполнив это Array2D [y] = {}, он также будет объявлен в то же время, просто выполнив локальный Array2D = {} исправил это, спасибо вам большое – Makenshi
Добро пожаловать. Я тоже проголосовал за ответ Мюда, так как его записка об использовании pcall является допустимой - в этом случае вы могли бы получить сообщение об ошибке от Lua. Обычно это зависит от хост-программы, чтобы сделать это для вас. – MattJ