从Prolog中的列表列表中获取子列表

时间:2019-03-22 03:02:09

标签: prolog

我正在尝试实施多米诺骨牌游戏。每次移动时,我都想检查一下我可以玩的瓷砖。该程序将实际可用号码存储在列表中。

例如:

playable([3,4]).

我的手兼容的磁片存储在:

posibles([]).

获取带有可能动作的子列表的代码:

posibleMove([H|T]):-
  playable([I|[D|_]]),
  (member(I, H) ; member(D,H)),
  posibles(X),
  append(X, [H], Z),
  retract(posibles(X)),
  assert(posibles(Z)),
  posibleMove(T), !.

posibleMove(T):-
  posibleMove(T), !.

如何处理手中的瓷砖不兼容的情况,并继续搜索手中的其余瓷砖?

0 个答案:

没有答案