From b3e0ace3ca198cacd8d77c6ca0f2c457826dee63 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Sun, 26 Feb 2023 00:06:40 +0000 Subject: Revisited the game over sequence --- src/Game/Entities/Player.hs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/Game/Entities/Player.hs') diff --git a/src/Game/Entities/Player.hs b/src/Game/Entities/Player.hs index 78da30e..f0a526c 100644 --- a/src/Game/Entities/Player.hs +++ b/src/Game/Entities/Player.hs @@ -58,11 +58,13 @@ updateVertical isBlocked jump down e | otherwise = e updatePlayer :: IORef C.Controls -> IsBlocked -> Entity -> IO Entity -updatePlayer controls isBlocked e = do - ctl <- readIORef controls - pure $ - updateGravity isBlocked $ - updateVertical isBlocked ctl.a ctl.down $ - updateHorizontal isBlocked ctl.left ctl.right $ - -- left or right, but not both (keyboard) - updateFrame ((ctl.left || ctl.right) && (ctl.left /= ctl.right)) e +updatePlayer controls isBlocked e + | e.dir /= Dying = do + ctl <- readIORef controls + pure $ + updateGravity isBlocked $ + updateVertical isBlocked ctl.a ctl.down $ + updateHorizontal isBlocked ctl.left ctl.right $ + -- left or right, but not both (keyboard) + updateFrame ((ctl.left || ctl.right) && (ctl.left /= ctl.right)) e + | otherwise = pure $ updateGravity (\_ _ -> False) e -- cgit v1.2.3