Пролог 2.0
1974
1
Помогите решить задачку про волка, козу, капусту. У меня есть код



domains
Koza,Kapusta,Volk,s=string
sum=integer

database - lev
animals(s)
database - prav
animals1(s)

predicates
dialog
na4alo
open
repeat
/*consult*/

goal
na4alo.

clauses
repeat.repeat:-repeat.
open:-consult("lev.dbo",lev).
dialog:-
repeat,
write("Kogo vi hotite perevezti:"),nl,
consult("lev.dbo",lev),
readln(S),
retract(animals(S),lev),
assert(animals1(S),prav),
write("Kto pridet sleduschej?"),nl,
readln(X),
assertz(animals(X)),
save("lev.dbo",lev),
save("prav.dbo",prav),
write("Vi hotite prodolzhit? Y/N"),nl,
readln(Z),
Z="N",!.

na4alo:-open,dialog.


Но здесь надо дописать проверку, что типа коза капусту ест, волк - козу, цикл у меня

повторяется до тех пора пока я сам не нажму стоп и счиатет потери на каждом шаге...
Помогите плиз....
Zainka
логика не верная в программе, должно быть так:

начало цикла:

С какого берега везем?

1. левый
2. правый

Кого везем?

список тварей с указанного берега

проверка и выход на провал или успех

переход на начало цикла