#18 & massive structure overhaul

This commit is contained in:
Tibo De Peuter 2022-12-19 22:54:42 +01:00
parent 83659e69b4
commit 3b0de65de1
16 changed files with 397 additions and 221 deletions

54
lib/RPGEngine/Render.hs Normal file
View file

@ -0,0 +1,54 @@
-- Allows to render the played game
module RPGEngine.Render
( initWindow
, bgColor
, render
) where
import RPGEngine.Internals.Data.Game(Game(..))
import RPGEngine.Internals.Data.State(State(..))
import Graphics.Gloss
----------------------------- Constants ------------------------------
-- Game background color
bgColor :: Color
bgColor = white
----------------------------------------------------------------------
-- Initialize a window to play in
initWindow :: String -> (Int, Int) -> (Int, Int) -> Display
initWindow = InWindow
-- Render the game
render :: Game -> Picture
render g@Game{ state = Menu } = renderMenu g
render g@Game{ state = Playing } = renderPlaying g
render g@Game{ state = Pause } = renderPause g
render g@Game{ state = Win } = renderWin g
render g@Game{ state = Lose } = renderLose g
----------------------------------------------------------------------
-- TODO
renderMenu :: Game -> Picture
renderMenu _ = text "[Press any key to start]"
-- TODO
renderPlaying :: Game -> Picture
renderPlaying _ = text "Playing"
-- TODO
renderPause :: Game -> Picture
renderPause _ = text "[Press any key to continue]"
-- TODO
renderWin :: Game -> Picture
renderWin _ = text "Win"
-- TODO
renderLose :: Game -> Picture
renderLose _ = text "Lose"