从1D数组中提取2D坐标。

基本上,我正在将数组索引转换为二维坐标。

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

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

我应该四舍五入x吗?

我的代码(Lua)是:

对于i = 1,9 do
    本地x = i%3
    本地y = i / 3
end
点赞
用户5476783
用户5476783

是的,你应该舍去 x(向下取整),y 也是一样的:

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

但你应该计数从 0..8,然后将 x 和 y 加 1 变为基于 1,或者像这样从 i 中减去 1(这通常是我在 Lua 中的做法):

for i=1, 9 do
    local x = math.floor((i - 1) % 3) + 1 -- 1、2 或 3
    local y = math.floor((i - 1) / 3) + 1 -- 1、2 或 3
end
2015-11-05 21:16:55