来自1D阵列的2D坐标

时间:2015-11-05 21:08:24

标签: arrays lua

所以基本上我将数组索引转换为2d坐标。

我在尝试的是2D反向:https://softwareengineering.stackexchange.com/a/212813/199992

但是在x的除法部分(在我的情况下宽度是3),它返回一个double / float,这是有意义的,因为(2/3)不是一个整数。

我应该四舍五入吗?

我的代码(Lua)是:

for i=1, 9 do
    local x = i % 3
    local y = i / 3
end

1 个答案:

答案 0 :(得分:1)

是的,你应该舍入x(向下),对于y来说是相同的:

local x = math.floor(i % 3)
local x = math.floor(i / 3)

但是你应该从0..8开始计数(并且将x加0加1为1),或者从i中减去1(这是我通常在lua中执行的操作):

for i=1, 9 do
    local x = math.floor((i - 1) % 3) + 1 -- 1, 2 or 3
    local y = math.floor((i - 1) / 3) + 1 -- 1, 2 or 3
end