Procedimiento “O” en prólogo.
Estoy haciendo un programa de prólogo para la universidad que es un poco como el juego de cluedo. Tengo seis sospechosos con diferentes rasgos:
suspect(Name, Age, Weapon, Shape, Object, Shoes)
El objetivo es implementar una serie de pistas para que el programa diga cuáles son los diferentes rasgos de los seis sospechosos. Por ejemplo:
suspect(Hannibal Lecter,67,knife,'in good shape',mac,'high heels')
Estoy teniendo problemas tratando de implementar la pista
or(suspect1, suspect2, suspect3, listOfSuspects)
Esta pista se supone que dice que elsuspect1
tiene los mismos rasgos quesuspect2
O comosuspect3
pero no ambos. Ejemplo: para indicar que el sospechoso que tiene 50 años tiene un anillo o un mac, pero no ambos:
or(suspect(_, 50, _, _, _, _),
suspect(_, _, _, _, ring, _),
suspect(_, _, _, _, mac, _), listOfSuspects).
Cualquier ayuda sería apreciada.