マインスイーパに似たゲームを作成しようとしています。マップ内の正方形の隣人をチェックする必要がありますが、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 の間をループするにはどうすればよいですか?