所以我得到了一個迷宮,我試圖找出開放鄰居的數量(相鄰點具有字符'g'或' - ')。如何根據Prolog的結果和If-Statement來分配值?
openNeighbors(Maze,(R,C),Answer):-
openCount(Maze,(R-1,C),Up),
openCount(Maze,(R+1,C),Down),
openCount(Maze,(R,C-1),Left),
openCount(Maze,(R,C+1),Right),
Answer is Up+Down+Left+Right.
openCount(Maze,Space,Count):-
find2D(Maze,What,Space),
( What =:= - ->
Count is 1
; What =:= g ->
Count is 1
; Count is 0
)
我的思維過程是,我可以只要求了openCount功能,下,左,右,但我怎麼格式化我如果openCount函數內聲明?我不確定如何比較我的'What'變量與'g'和' - '。
相當於Java中的什麼我想要做的是:
if(What.equals('g')||What.equals('-')){
return 1;
}else{
return 0;
}