Prolog,无法弄清楚如何从基本情况下的函数中获取最终值

时间:2018-04-17 21:31:01

标签: prolog

我不确定如何解决这个错误。 placePoly正常工作,并最终在最后一个参数中使用我想要的结果调用,但是当我在SWI Prolog中跟踪它时,它只是回溯到开头并且不返回任何内容。一旦碰到基本情况,它不应该返回吗?

placePoly([],_,_,_) :- !.
placePoly([(X,Y)|T],Letter,Board,_) :- setPixel(X,Y,Letter,Board,NewBoard),
                                   placePoly(T,Letter,NewBoard,NewBoard).

setPixel(X,Y,Letter,P,NewP) :- getElement(Y,P,Row),
                           setElement(Y,NewRow,P,NewP),
                           setElement(X,Letter,Row,NewRow).

0 个答案:

没有答案