(1) | %Directions | (2) | dir (north). | (3) | dir (south). | (4) | dir (east). | (5) | dir (west). | (6) | %Reversibility of orientations | (7) | revDir (east, west). | (8) | revDir (north, south). | (9) | %Revert orientations | (10) | isRevDir (X, Y):- revDir (X, Y). | (11) | isRevDir (X, Y):- revDir (Y, X). | (12) | % Look for direct connections | (13) | hasConnection (X, X, none, 0). | (14) | hasConnection (X, Y, Direction, Cost):- dir (Direction), connection (X, Y, Direction, Cost). | (15) | hasConnection (X, Y, Direction, Cost):- dir (Direction), isRevDir (Direction, Reversed), | (16) | connection (Y, X, Reversed, Cost). |
|