Я превращаю 2D-карту, которая неорганизована, в таблицу строк, например, из:
"Render = {{Image, 50,60,2}}"
Где Image - изображение (я использую фреймворк Love2D Lua)
50 - это ось X
60 - ось Y
2 - это идентификатор изображения (это то, что будет в реальной таблице.)
Но их примерно 100, все неорганизованные и тому подобное, и мне нужно объединить их в структурированную карту.
Вот странный бит: когда я превращаю его в организованную строку ... Это ... Кинда поворачивает стол на угол 90 * против часовой стрелки.
Сказав, что я хочу получить результат
{
{7,6,5},
{6,5,4},
}
Я бы получил:
{
{5,4},
{6,5},
{7,6},
}
Очевидно, нет ошибки, поскольку технически это работает, просто вращается неправильно. Вот соответствующий код:
function OrganiseRenderIntoMap()
MapString = ""
Map2 = {}
MaxSoFarX = 0
MaxSoFarY = 0
for _,v in pairs(Render) do
if v[2] > MaxSoFarX then
MaxSoFarX = v[2]
elseif v[3] > MaxSoFarY then
MaxSoFarY = v[3]
end
end
for currx = 0, MaxSoFarX, 32 do
Map2[currx] = {}
MapString = MapString.."{"
for curry = 0, MaxSoFarY, 32 do
MapString = MapString..GetRenderPos(currx,curry)..","
Map2[currx][curry] = GetRenderPos(currx,curry)
end
MapString = MapString.."},\n"
end
return MapString
end
function GetRenderPos(locx,locy)
for _,v in pairs(Render) do
if v[2] == locx and v[3] == locy then
return v[4]
end
end
end