Lua的哪个函数可以判断一个单元格的坐标?

我正在编写一个 Lua 脚本(细胞自动化),现在我需要将细胞空间分成四部分,每个部分都有自己的功能,我使用以下代码(可能对某些人来说看起来很愚蠢):

if  cells:getCell(Coord{x < 25 ,y < 25}) then
cell.P = (cell.past.P + e*i1 + u1*i2)
elseif cells:getCell(Coord{x < 25 ,y > 25})then
cell.P = (cell.past.P + e*i1 + u2*i2)
elseif cells:getCell(Coord{x > 25 ,y < 25})then
cell.P = (cell.past.P + e*i1 + u3*i2)
else
cell.P = (cell.past.P + e*i1 + u4*i2)
end

现在我想问什么是重写上述代码的正确方法?任何函数?谢谢!

点赞
用户4087571
用户4087571

如何这样:

do
  local t = {
    { {x < 25, y < 25}, u1 },
    { {x < 25, y > 25}, u2 },
    { {x > 25, y < 25}, u3 },
    { {x > 25, y > 25}, u4 },
  }

  for i = 1, 4 do
    if cells:getCell(Coord(t[i][1])) then
      cell.P = (cell.past.P + e*i1 + t[i][2]*i2)
      break
    end
  end
end

虽然代码比较长,但是至少重复部分已经减少了很多。

2015-03-14 06:13:07