所以我认为我有一个很好的设置,每个"按钮"有一列和一行。这是我目前的职能:
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,还有一张表可以查看有多少有相同的行/列?对我而言似乎非常低效。
在开始使用一堆表之前,我应该知道更好的方法吗?
编辑:为了清楚起见,按钮是具有属性"列"的表。和"行"
答案 0 :(得分:0)
要执行此操作,您必须跟踪每个行和列图块,直接检查3行。虽然效率低下,但我没有看到任何其他方式。