The Easiest Way to Save and Share Code Snippets on the web

prolog duplicate problem

prolog

posted: Dec, 4th 2011 | jump to bottom

  1. inFlyingRange(ThisRegion, Sensor, Airport, Range, FuelCap):-
  2. atCoord(ThisRegion,Airport,3),
  3. atCoord(ThisRegion,Sensor,5),
  4. isInRange(ThisRegion,Sensor,Airport,Range,FuelCap,[[]]).
  5.  
  6. isInRange(ThisRegion,Sensor,StartingPoint,Range,FuelCap,TraversedList):-
  7. %atCoord(ThisRegion,NewLocation,3),
  8. TotalRange UR1|"http://pauillac<DOT>inria<DOT>fr/~deransar/prolog/bips<DOT>html">is Range+FuelCap,
  9. withinRange(StartingPoint,Sensor,TotalRange).
  10.  
  11. isInRange(ThisRegion,Sensor,StartingPoint,Range,FuelCap,TraversedList):-
  12. append(TraversedList,[StartingPoint],NewList),
  13. atCoord(ThisRegion,NewLocation,4),
  14. append(NewList,[NewLocation],NewestList),
  15. not(member(NewLocation,TraversedList)),
  16. withinRange(StartingPoint,NewLocation,FuelCap),
  17. isInRange(ThisRegion,Sensor,NewLocation,Range,FuelCap,NewestList).
  18.  
  19. withinRange([X,Y],[W,Z],Range):-
  20. UR1|"http://pauillac<DOT>inria<DOT>fr/~deransar/prolog/bips<DOT>html">abs(W-X)+UR1|"http://pauillac<DOT>inria<DOT>fr/~deransar/prolog/bips<DOT>html">abs(Z-Y)=<Range.
  21.  
  22. atCoord(ThisRegion,[X,Y],FeatureType):-
  23. nth1(X,ThisRegion,Row),
  24. nth1(Y,Row,FeatureType).
102 views