diff options
author | Juan J. Martinez <jjm@usebox.net> | 2023-02-25 13:50:04 +0000 |
---|---|---|
committer | Juan J. Martinez <jjm@usebox.net> | 2023-02-25 13:50:04 +0000 |
commit | 2f40109ab69892c7b7812fdbba3a83dc3ca96193 (patch) | |
tree | db3a61adae19487c15f5977befd918a5fb213c9b /src/Game/Entities | |
parent | e066422b950a06873efb6a884b47155c867b7acf (diff) | |
download | space-plat-hs-2f40109ab69892c7b7812fdbba3a83dc3ca96193.tar.gz space-plat-hs-2f40109ab69892c7b7812fdbba3a83dc3ca96193.zip |
Game over sequence WIP
Diffstat (limited to 'src/Game/Entities')
-rw-r--r-- | src/Game/Entities/Common.hs | 5 | ||||
-rw-r--r-- | src/Game/Entities/Const.hs | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/Game/Entities/Common.hs b/src/Game/Entities/Common.hs index 2a0c6f1..251dbb4 100644 --- a/src/Game/Entities/Common.hs +++ b/src/Game/Entities/Common.hs @@ -43,7 +43,10 @@ hitPlayer stateRef = stateRef $~ updatePlayerHit where updatePlayerHit :: GS.State -> GS.State - updatePlayerHit s = s {GS.lives = s.lives - 1, GS.hitDelay = hitDelay} + updatePlayerHit s + -- if we run out of lives, trigger the game over + | s.lives == 1 = s {GS.lives = 0, GS.gameOverDelay = gameOverDelay} + | otherwise = s {GS.lives = s.lives - 1, GS.hitDelay = hitDelay} -- | Update game state to reflect that the player picked up a battery. collectedBattery :: IORef GS.State -> IO () diff --git a/src/Game/Entities/Const.hs b/src/Game/Entities/Const.hs index 4855e24..a24c304 100644 --- a/src/Game/Entities/Const.hs +++ b/src/Game/Entities/Const.hs @@ -3,6 +3,9 @@ module Game.Entities.Const where hitDelay :: Int hitDelay = 96 +gameOverDelay :: Int +gameOverDelay = 96 + frameDelay :: Int frameDelay = 6 |