Advertisement
rihardmarius

14. viscosos pero sabrosos

Jul 4th, 2015
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 2.33 KB | None | 0 0
  1. /* viscosos pero sabrosos */
  2.  
  3. %comio(Personaje, Bicho),
  4. %Bicho = vaquitaSanAntonio(nombre, peso), hormiga(nombre), cucaracha(nombre, tamanio, peso)
  5.  
  6. comio(pumba, vaquitaSanAntonio(gervasia,3)).
  7. comio(pumba, hormiga(federica)).
  8. comio(pumba, hormiga(tuNoEresLaReina)).
  9. comio(pumba, cucaracha(ginger,15,6)).
  10. comio(pumba, cucaracha(erikElRojo,25,70)).
  11. comio(timon, vaquitaSanAntonio(romualda,4)).
  12. comio(timon, cucaracha(gimeno,12,8)).
  13. comio(timon, cucaracha(cucurucha,12,5)).
  14. comio(simba, vaquitaSanAntonio(remeditos,4)).
  15. comio(simba, hormiga(schwartzenegger)).
  16. comio(simba, hormiga(niato)).
  17. comio(simba, hormiga(lula)).
  18. comio(shenzi,hormiga(conCaraDeSimba)).
  19.  
  20. pesoHormiga(2).
  21. %peso(Personaje, Peso)
  22. peso(pumba, 100).
  23. peso(timon, 50).
  24. peso(simba, 200).
  25. peso(scar, 300).
  26. peso(shenzi, 400).
  27. peso(banzai, 500).
  28.  
  29. %jugosita(cucaracha(gimeno,12,8)) true
  30.  
  31. jugosita(cucaracha(Nombre, Tamanio, Peso)):- comio(_, cucaracha(Nombre2, Tamanio, Peso2)), Nombre2 \= Nombre, Peso > Peso2.
  32.  
  33. hormigofilico(Personaje):- personaje(Personaje), comio(Personaje, hormiga(H1)), comio(Personaje, hormiga(H2)), H1 \= H2.
  34.  
  35. cucarachofobico(Personaje):- personaje(Personaje), forall(comio(Personaje, Bicho), Bicho \= cucaracha(_,_,_)).
  36.  
  37. personaje(Personaje):- findall(P, peso(P, _), L), member(Personaje, [mufasa|L]).
  38.  
  39. picarones(Picarones):- setof(P, picaron(P), Picarones).
  40.  
  41. picaron(pumba).
  42. picaron(Personaje):- personaje(Personaje), comio(Personaje, cucaracha(A,B,C)), jugosita(cucaracha(A,B,C)).
  43. picaron(Personaje):- personaje(Personaje), comio(Personaje, vaquitaSanAntonio(remeditos,4)).
  44.  
  45. persigue(scar, timon).
  46. persigue(scar, pumba).
  47. persigue(shenzi, simba).
  48. persigue(shenzi, scar).
  49. persigue(banzai, timon).
  50. persigue(scar, mufasa).
  51.  
  52. cuanto_engorda(Personaje, Peso):- personaje(Personaje), findall(B, comio(Personaje, B), Bichos), suma_de_pesos(Bichos, P1),
  53.     findall(P, persigue(Personaje, P), L), suma_de_pesos(L, P2), Peso is P1 + P2.
  54.  
  55. suma_de_pesos([H|T], N):- peso_de(H, P), suma_de_pesos(T, N2), N is P + N2.
  56. suma_de_pesos([], 0).
  57.  
  58. peso_de(vaquitaSanAntonio(_, P), P).
  59. peso_de(hormiga(_), 2).
  60. peso_de(cucaracha(_, _, P), P).
  61. peso_de(Personaje, Peso):- peso(Personaje, P), cuanto_engorda(Personaje, P2), Peso is P + P2.
  62.  
  63. rey(Rey):- personaje(Rey), not(persigue(Rey, _)), not(comio(Rey, _)), persigue(X, Rey), not((persigue(Y, Rey), X \= Y)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement