Facebook
From twoj stary, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 118
  1. % Graf nieskierowany
  2. neighborroom(X, Y, W) :- gallery(X, Y, W).
  3. neighborroom(X, Y, W) :- gallery(Y, X, W).
  4.  
  5. % Lista węzłów zakazanych
  6. avoid([prages, n, targowek]).
  7.  
  8. % Rekurencyjne poszukiwanie drogi
  9. route(End, End, _, 0, VisitedRooms) :-
  10.     member(End, VisitedRooms), reverse(VisitedRooms, Path), write(Path), nl.
  11. route(Start, End, StartWeight, TotalWeight, VisitedRooms) :-
  12.     neighborroom(Start, Next, Weight),
  13.     avoid(DangerousRooms),
  14.     \+ member(Next, DangerousRooms),
  15.     \+ member(Next, VisitedRooms),
  16.     NewWeight is StartWeight + Weight,
  17.     route(Next, End, NewWeight, TotalWeight, [Next|VisitedRooms]).