我正在做一个pacman Prolog + netologo游戏,我正在重复循环,因为我告诉pacman他不能靠近幽灵,但他也不能去反向他面对的时候,这是逃避鬼魂的唯一选择 所以,我想问Prolog是否有我的L列表中的任何成员(所有方向都没有重影的列表)与我的反方向不同,如果答案为否,我希望它失败,所以它不会进入重复循环,如果答案是肯定的,我希望它选择其中一个结果。
这是我现在的代码:
chooseNotDangerous(L,Pacman,Dir,Free,Decision) :-
\+ member(Dir,L),
inverse(Dir,Inv),
member(Decision,L),
front(Pacman,Decision,F),
member(F,Free),
repeat,
randMember(Decision,[0,90,180,270]),
Decision \== Dir,
Decision \== Inv,!.
感谢您的帮助:)。