4Blocks-0.2: Rendering/StatusText.hs
module Rendering.StatusText ( renderStatusText )
where
import Core.Colour
import Core.ColouredPoint
import Core.Game
import Rendering.RGB
import Rendering.Point
import Rendering.Block
import Rendering.Text
import Graphics.Rendering.Cairo
renderStatusText :: Point -> Point -> Game -> Render ()
renderStatusText (startX,startY) (incX,incY) game
= do setSourceRGB 0.0 0.0 0.0
selectFontFace "sans" FontSlantNormal FontWeightNormal
renderText (startX + incX,startY) 40 2 (1,1,1) "4Blocks"
renderText (startX + (incX * 4),startY + (incY) + 5) 20 1 (1,1,1) "in"
renderText (startX + (incX * 2),startY + (incY * 3)) 40 2 (1,1,1) "Haskell!"
renderText (startX + incX, startY + (incY * 6)) 20 1 (1,1,1) ("Score: " ++ (show scoreValue))
renderText (startX + incX, startY + (incY * 8)) 20 1 (1,1,1) ("Lines: " ++ (show linesValue))
renderText (startX + incX, startY + (incY * 10)) 20 1 (1,1,1) ("Level: " ++ (show levelValue))
renderText (startX + incX, startY + (incY * 12)) 20 1 (1,1,1) ("Goal: " ++ (show goalDiffValue))
renderText (startX + incX, startY + (incY * 14)) 20 1 (1,1,1) ("Status: " ++ (show statusValue))
renderText (startX + incX, startY + (incY * 16)) 20 1 (1,1,1) "Next: "
where gravity = getGravityFromGame game
goal = getGoalFromGame game
scoreValue = getScoreFromGame game
linesValue = getLinesFromGame game
statusValue = getStatusFromGame game
goalDiffValue = goal - linesValue
levelValue = gravity - 1