網格是7個列表的列表,每個列表是一個最多可包含6個元素的列。爲了勝利檢查,我實施了垂直勝利和橫向勝利,如下所示。但我在對角線檢查方面存在問題。有什麼建議麼?序言:connect4檢查對角線結尾
% Vertical end check
isEndVert(Grid, J, N) :-
getColumn(N, Grid, Column),
sublist([J,J,J,J], Column),
!.
isEndVert(Grid, J, N) :-
N > 0,
N1 is N-1,
isEndVert(Grid, J, N1).
% Horizontal end check
isEndHor(Grid, J, N) :-
getLine(N, Grid, Line),
sublist([J,J,J,J], Line),
!.
isEndHor(Grid, J, N) :-
N > 0,
N1 is N-1,
isEndHor(Grid, J, N1).
這對我來說很不透明。我發現它很有用(讚美!),但它是如何成爲頭腦的人。 –
@DanielLyons:是的,雖然 – CapelliC
有點棘手,但效率不高。 :) –