Я хочу изменить вывод кода.
Результат:
?- goSolveTheMaze(gateA,Hall).
Hall = [hall, gateR, gateJ, gateD, gateC, gateB, gateA] .
I want it to be : Hall =[gateA ,gateB ,gateC ,gateD ,gateJ ,gateR ,hall].
I tried to use the reverse function like this :
reverse([]) --> [].
reverse([Goal|Ls]) --> reverse(Ls), [Goal].
But it didn't work.





goSolveTheMaze(Start, Path) :-
depthfirst(Start, Path).
depthfirst(Goal, [Goal]) :-
goal(Goal).
depthfirst(Start, [Start|Path]) :-
move(Start, Node1),
depthfirst(Node1, Path).
Результат в swi-прологе:
?- goSolveTheMaze(gateA, Path).
Path = [gateA,gateB,gateC,gateD,gateJ,gateR,hall] ;
false.