prolog duplicate problem
prolog
posted: Dec, 4th 2011 | jump to bottom
inFlyingRange(ThisRegion, Sensor, Airport, Range, FuelCap):- atCoord(ThisRegion,Airport,3), atCoord(ThisRegion,Sensor,5), isInRange(ThisRegion,Sensor,Airport,Range,FuelCap,[[]]). isInRange(ThisRegion,Sensor,StartingPoint,Range,FuelCap,TraversedList):- %atCoord(ThisRegion,NewLocation,3), TotalRange UR1|"http://pauillac<DOT>inria<DOT>fr/~deransar/prolog/bips<DOT>html">is Range+FuelCap, withinRange(StartingPoint,Sensor,TotalRange). isInRange(ThisRegion,Sensor,StartingPoint,Range,FuelCap,TraversedList):- append(TraversedList,[StartingPoint],NewList), atCoord(ThisRegion,NewLocation,4), append(NewList,[NewLocation],NewestList), not(member(NewLocation,TraversedList)), withinRange(StartingPoint,NewLocation,FuelCap), isInRange(ThisRegion,Sensor,NewLocation,Range,FuelCap,NewestList). withinRange([X,Y],[W,Z],Range):- 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. atCoord(ThisRegion,[X,Y],FeatureType):- nth1(X,ThisRegion,Row), nth1(Y,Row,FeatureType).
102 views




