still working on collision
This commit is contained in:
parent
eee9343313
commit
ec2572f9e6
1 changed files with 11 additions and 9 deletions
20
src/Test.hs
20
src/Test.hs
|
@ -163,9 +163,10 @@ updateMap dt = do
|
|||
-- )
|
||||
concatMap
|
||||
(\(dr, dc) ->
|
||||
let bs = imgObstacle
|
||||
(imgMat (stateData ud) M.!
|
||||
(floor (nr + dr), floor (nc + dc)))
|
||||
let bs = fromMaybe [] (imgObstacle <$> (M.safeGet
|
||||
(floor (nr + dr))
|
||||
(floor (nc + dc))
|
||||
(imgMat (stateData ud))))
|
||||
in Prelude.map (\(Boundaries (minr, minc) (maxr, maxc))->
|
||||
Boundaries
|
||||
(minr + dr, minc + dc)
|
||||
|
@ -271,12 +272,13 @@ checkBoundsCollision
|
|||
-> V2 Double
|
||||
checkBoundsCollision
|
||||
(V2 pr pc) (V2 fr fc) (V2 mr mc) (Boundaries (minr, minc) (maxr, maxc))
|
||||
| ntestc && ntestr && not testc = V2 (1 * mr) (0 * mc)
|
||||
| ntestr && ntestc && not testr = V2 (0 * mr) (1 * mc)
|
||||
| not ntestr && not ntestc = V2 (1 * mr) (1 * mc)
|
||||
| not ntestr && ntestc = V2 (1 * mr) (1 * mc)
|
||||
| not ntestc && ntestr = V2 (1 * mr) (1 * mc)
|
||||
| otherwise = V2 (0 * mr) (0 * mc)
|
||||
| ntestc && ntestr && not testr && not testc = V2 (1 * mr) (1 * mc)
|
||||
| ntestc && ntestr && not testc = V2 (1 * mr) (0 * mc)
|
||||
| ntestr && ntestc && not testr = V2 (0 * mr) (1 * mc)
|
||||
| not ntestr && not ntestc = V2 (1 * mr) (1 * mc)
|
||||
| not ntestr && ntestc = V2 (1 * mr) (1 * mc)
|
||||
| not ntestc && ntestr = V2 (1 * mr) (1 * mc)
|
||||
| otherwise = V2 (0 * mr) (0 * mc)
|
||||
where
|
||||
ntestr
|
||||
| ndistr <= hheight + 0.15 = True
|
||||
|
|
Loading…
Reference in a new issue