#18 & massive structure overhaul
This commit is contained in:
parent
83659e69b4
commit
3b0de65de1
16 changed files with 397 additions and 221 deletions
54
lib/RPGEngine/Render.hs
Normal file
54
lib/RPGEngine/Render.hs
Normal 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"
|
Reference in a new issue