我正在尝试制作类似于扫雷的游戏,我需要检查地图中正方形的邻居,但我的 for 循环出现语法错误,我正在使用 SWI-Prolog
checkneighbours(X,Y) :-
retractall(vecini(_)),
assert(vecini(0)),
foreach(I in X-1..X+1,
(foreach J in Y-1..Y+1,
(map(I,J,Z),
( Z=:= "X"
-> vecini(V),
V1 is V+1,
assert(vecini(V1))
)
)
)
).
我没有声明循环吗?或者我如何在 X-1 和 X+1 之间循环?