Я сделал это две прологов функции:Возвращаемое значение функции - Пролог
move-pacman([[Xpacman,Ypacman]],[[Xghost,Yghost]|_], Listpellets, Movepacman):- Xpacman+1=:=Xghost, Ypacman=Yghost, haspellet(Listpellets, Xpacman-1, Ypacman), Movepacman=0,!.
move-pacman([[Xpacman,Ypacman]],[[Xghost,Yghost]|_], Listpellets, Movepacman):- Xpacman-1=:=Xghost, Ypacman=Yghost, haspellet(Listpellets, Xpacman+1, Ypacman), Movepacman=1,!.
move-pacman([[Xpacman,Ypacman]],[[Xghost,Yghost]|_], Listpellets, Movepacman):- Ypacman+1=:=Yghost, Xpacman=Xghost, haspellet(Listpellets, Xpacman-1, Ypacman), Movepacman=2,!.
move-pacman([[Xpacman,Ypacman]],[[Xghost,Yghost]|_], Listpellets, Movepacman):- Ypacman-1=:=Yghost, Xpacman=Xghost, haspellet(Listpellets, Xpacman+1, Ypacman), Movepacman=3,!.
move-pacman([[Xpacman,Ypacman]],[_|Restghosts], Listpellets, Movepacman):- move-pacman([[Xpacman,Ypacman]],Restghosts, Listpellets, Movepacman).
haspellet([[Xpellet,Ypellet]|_], Xpacman, Ypacman):- Xpacman = Xpellet, Ypacman = Ypellet, !.
haspellet([_|Restpellets], Xpacman, Ypacman):- haspellet(Restpellets,Xpacman,Ypacman).
Мой вопрос, почему, когда я бегу мой программка с этим:
move-pacman([[5,6]],[[6,6]],[[4,6]],R).
Возвращаемое значение представляет собой логическое вместо int?