24 lines
478 B
Haskell
24 lines
478 B
Haskell
module Navigation where
|
|
|
|
import Affection as A
|
|
|
|
import Data.Matrix as M
|
|
import Data.Maybe (isJust, catMaybes)
|
|
|
|
-- internal imports
|
|
|
|
import Types
|
|
import Util
|
|
|
|
isReachable
|
|
:: Matrix (Maybe ImgId)
|
|
-> [(V2 Double, Boundaries Double)]
|
|
-> [V2 Int]
|
|
-> [ReachPoint]
|
|
-> Bool
|
|
isReachable imgmat animBounds reaches exits =
|
|
let result =
|
|
concatMap
|
|
((\exit -> map (astarAppl imgmat animBounds exit) reaches) . pointCoord)
|
|
exits
|
|
in all isJust result
|