diff --git a/src/Test.hs b/src/Test.hs index 88c21f8..d80bb48 100644 --- a/src/Test.hs +++ b/src/Test.hs @@ -225,7 +225,7 @@ updateMap dt = do ent = defEntity' { pos = Set $ pos' + dpos * Prelude.foldl (\acc a -> let ret = checkBoundsCollision2 pos' npos dt acc a - in A.log A.Debug (show ret) ret) + in A.log A.Verbose (show ret) ret) (V2 1 1) ( concatMap @@ -240,7 +240,7 @@ updateMap dt = do (maxr + fromIntegral dr, maxc + fromIntegral dc) ) bs ) - (A.log A.Debug (show lll ++ " " ++ show len) lll) + (A.log A.Verbose (show lll ++ " " ++ show len) lll) ) } return ent @@ -373,19 +373,23 @@ checkBoundsCollision2 -> V2 Double checkBoundsCollision2 pre@(V2 pr pc) next@(V2 nr nc) dt acc (Boundaries (minr, minc) (maxr, maxc)) - | colltr < dt && colltc < dt = A.log A.Debug ("both " ++ show (colltr, colltc)) (V2 0 0) - | colltr < dt && incol = (A.log A.Debug ("row fixed " ++ show (colltr, colltc))(V2 0 1)) * acc - | colltc < dt && inrow = (A.log A.Debug ("col fixed " ++ show (colltr, colltc))(V2 1 0)) * acc - | otherwise = acc + | colltr < dt && colltc < dt = V2 0 0 + | colltr < dt && incol = V2 0 1 * acc + | colltc < dt && inrow = V2 1 0 * acc + | otherwise = acc where vel@(V2 vr vc) = fmap (/ dt) (next - pre) colltr - | vr > 0 && prr <= maxr = (((fromIntegral (floor pr :: Int)) + minr - 0.15) - pr) / vr - | vr < 0 && prr >= minr = (((fromIntegral (floor pr :: Int)) + maxr + 0.15) - pr) / vr + | vr > 0 && prr <= maxr = + (((fromIntegral (floor pr :: Int)) + minr - 0.15) - pr) / vr + | vr < 0 && prr >= minr = + (((fromIntegral (floor pr :: Int)) + maxr + 0.15) - pr) / vr | otherwise = dt colltc - | vc > 0 && prc <= maxc = (((fromIntegral (floor pc :: Int)) + minc - 0.15) - pc) / vc - | vc < 0 && prc >= minc = (((fromIntegral (floor pc :: Int)) + maxc + 0.15) - pc) / vc + | vc > 0 && prc <= maxc = + (((fromIntegral (floor pc :: Int)) + minc - 0.15) - pc) / vc + | vc < 0 && prc >= minc = + (((fromIntegral (floor pc :: Int)) + maxc + 0.15) - pc) / vc | otherwise = dt inrow = pr > minr && pr < maxr incol = pc > minc && pc < maxc