intersect.pl 666 B

123456789101112131415161718192021222324252627282930313233
  1. less(X,Y) :- X<Y.
  2. less_equal(X,Y) :- X=<Y.
  3. greater(X,Y) :- X>Y.
  4. greater_equal(X,Y) :- X>=Y.
  5. fullless(X,Y,X):-less(X,Y).
  6. fullless(X,Y,Y):-less(Y,X).
  7. intersectLeft(Al,Ad,Au,Bl,Br,Bd,Bu):-
  8. greater_equal(Al,Bl),
  9. less_equal(Al,Br),
  10. greater(Ad,Bu),
  11. less(Au,Bd).
  12. intersectRight(Ar,Ad,Au,Bl,Br,Bd,Bu):-
  13. greater_equal(Ar,Bl),
  14. less_equal(Ar,Br),
  15. greater(Ad,Bu),
  16. less(Au,Bd).
  17. intersectUp(Al,Ar,Au,Bl,Br,Bd,Bu):-
  18. greater_equal(Au,Bu),
  19. less_equal(Au,Bd),
  20. greater(Ar,Bl),
  21. less(Al,Br).
  22. intersectDown(Al,Ar,Ad,Bl,Br,Bd,Bu):-
  23. greater_equal(Ad,Bu),
  24. less_equal(Ad,Bd),
  25. greater(Ar,Bl),
  26. less(Al,Br).
  27. inter(_):- true.