我正在尝试退回所有未使用的最长长度的纸牌。我得到了一张牌(列表),这张纸牌位于弃牌堆的顶部,我需要找到所有可能的纸牌,并返回所有可能的最长长度的纸牌。 nextCard查找下一张可玩的卡。
longestRun([],Disc,[]).
longestRun(Hand,[Hd|T],FinalRuns):-
search(Hd,Hand,Run),
reverse([Hd|Run],FinalRuns).
search(Disc,Hand,Path):-
nextCard(Hand,Disc,Next),
removeCard(Hand,Next,Nhand),
search(Next,Nhand,Rest),
Path = [Next|Rest].
search(_,_,[]).