我不确定如何解决这个错误。 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).