Tic Tac Toe(Lua(Touch Lua))连续3次检测?

时间:2014-09-05 21:01:59

标签: lua touch tic-tac-toe

所以我认为我有一个很好的设置,每个"按钮"有一列和一行。这是我目前的职能:

function CheckForWin()
   local X = {}
   local O = {}
   for i,v in pairs(ClosedButtons) do
      if v.title == "X" then
         table.insert(X, v)
      elseif v.title == "O" then
         table.insert(O, v)
      end
      for i,v in pairs(X) do
        --Find 3 Xs in a row
      end
      for i,v in pairs(O) do
        --Find 3 Os in a row
      end
   end
end

我的问题是,我应该如何发现?

如果3个按钮具有相同的行或列,则会出现3行?但对角线是一个特殊情况,如果3个按钮在它们中有相同的行和列?

我应该保留一张表来检查并查看有多少按钮有一列1/2/3和一张表来检查有多少按钮有一行1/2/3,还有一张表可以查看有多少有相同的行/列?对我而言似乎非常低效。

在开始使用一堆表之前,我应该知道更好的方法吗?

编辑:为了清楚起见,按钮是具有属性"列"的表。和"行"

1 个答案:

答案 0 :(得分:0)

要执行此操作,您必须跟踪每个行和列图块,直接检查3行。虽然效率低下,但我没有看到任何其他方式。