RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  67820 - JUEGO DE LAS RANAS EN PROLOG
Autor:  Veler Fornes
Hola, necesito ayuda urgente con este código, lo cierto es que no entiendo nada de Prolog y necesito terminar este juego de lógica el cual llaman "las ranas" se trata de pasar 3 ranas de izquierda a derecha y 3 ranas mas de derecha a izquierda, la regla principal es de que una ves que se mueve cualquiera de las ranas ya no puede volver atrás, otra regla dice que solo puede brincar un espacio.

anexo el código que asta ahora e conseguido, el cual me marca errores. Espero alguien me pueda ayudar con esto

edo_inicial(1-2-3-0-4-5-6).
edo_final(RV1-RV2-RV3-P-RC1-RC2-RC3):-RV1=:=4,RV2=:=5,RV3=:=6,P=:=0,RC1=:=1,RC2=:=2,RC3=:=3.

salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2- 0-3-RC1-RC2-RC3):-P=:=0,RV3=:=3.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2- 4-P- 0-RC2-RC3):-P=:=3,RV3=:=0.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2-RV3-P- 5- 0-RC3):-P=:=3,RC1=:=0.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2-RV3-0-RC1- 3-RC3):-RC1=:=5,RC2=:=0.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1- 0-RV3-2-RC1-RC2-RC3):-P=:=0,RC2=:=3.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3, 0- 1-RV3-P-RC1-RC2-RC3):-P=:=2,RV2=:=0.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3, 4-RV2- 0-P-RC1-RC2-RC3):-RV1=:=0,RV2=:=1.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2- 5-P- 0-RC2-RC3):-RC1=:=4.
salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2-RV3-P- 6-RC2- 0):-RV3=:=5,RC1==RC2.
%salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2-RV3-P-RC1- 0- 3):-RC3=:=3,RV1=:=4.
%salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2-RV3-0-RC1- 2-RC3):-RC2=:=0,RC3=:=3.
%salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1- 0-RV3-1-RC1-RC2-RC3):-P=:=0,RC2=:=5.
%salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1- 5- 0-P-RC1-RC2-RC3):-P=:=1,RV2=:=0.
%salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2- 6-P- 0-RC2-RC3):-RV2=:=5,RV3=:=0.
%salta(RV1-RV2-RV3-P-RC1-RC2-RC3,RV1-RV2-RV3-0- 1-RC2-RC3):-RV3=:=6,RC1=:=0.

salt(S) :- nl,nl,edo_inicial(E),salt([E],S).
salt([E|C],S):-edo_final(E),write(E).
salt([E|C],S):-salta(E,E1),not(miembro(E1,C)),write(E),nl,salt([E1,E|C],S).

miembro(H,[H|_]).
miembro(H,[_|T]):-miembro(H,T).


Nombre
Apellidos
Correo
Comentarios