From 9b04633e09a80d33456f545baf1fa910f0986db7 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Sun, 26 Feb 2023 00:26:54 +0000 Subject: Draw the HUB on the top of the screen --- src/Game/Hud.hs | 4 ++-- src/Game/Map.hs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/Game') diff --git a/src/Game/Hud.hs b/src/Game/Hud.hs index dd72bb3..1e51993 100644 --- a/src/Game/Hud.hs +++ b/src/Game/Hud.hs @@ -19,6 +19,6 @@ render :: SDL.Renderer -> Hud -> IO () render renderer hud = do state <- readIORef hud.stateRef let xs = [0 .. state.totalBatteries - 1] - in mapM_ (\x -> S.render renderer hud.sprite (4 + x * 8) 178 0 (if state.batteries <= x then 0 else 1)) xs + in mapM_ (\x -> S.render renderer hud.sprite (4 + x * 8) 4 0 (if state.batteries <= x then 0 else 1)) xs let xs = [0 .. state.totalLives - 1] - in mapM_ (\x -> S.render renderer hud.sprite (320 - 4 - state.totalLives * 8 + x * 8) 178 0 (if state.lives <= x then 2 else 3)) xs + in mapM_ (\x -> S.render renderer hud.sprite (320 - 4 - state.totalLives * 8 + x * 8) 4 0 (if state.lives <= x then 2 else 3)) xs diff --git a/src/Game/Map.hs b/src/Game/Map.hs index 47dc31c..e1dd673 100644 --- a/src/Game/Map.hs +++ b/src/Game/Map.hs @@ -2,6 +2,7 @@ module Game.Map ( Map (..), Object (..), objects, + height, totalBatteries, load, render, @@ -154,6 +155,9 @@ isPlayer :: Object -> Bool isPlayer (PlayerEntity _ _) = True isPlayer _ = False +height :: Map -> Int +height (Map md _) = md.height * md.tileset.height + -- | Return the number of batteries in a map. totalBatteries :: Map -> Int totalBatteries m = length $ filter isBattery (objects m) -- cgit v1.2.3