所以我得到了一个迷宫,我试图找出开放邻居的数量(相邻点具有字符'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;
}