-- | Initial game state
initialGS :: Font -> IO GameState
initialGS fnt = do time <- initialTimer
                   linetxt <- renderTextSolid fnt "0" textColor
                   frst <- spawnBlock'
                   next <- spawnBlock'
                   return $ GameState { lineNum = 0
                                      , timer = time
                                      , currentPiece = frst
                                      , nextPiece = next { position = (12, 8) }
                                      , board = startBoard
                                      , linesText = linetxt
                                      , gameOver = False
                                      }

-- | Handle events, then draw the game, then do it again (unless you quit)
initialGS :: Font -> IO GameState
initialGS fnt = do time <- initialTimer
                   linetxt <- renderTextSolid fnt "0" textColor
                   frst <- spawnBlock'
                   next <- spawnBlock'
                   return $ GameState { lineNum = 0
                                      , timer = time
                                      , currentPiece = frst
                                      , nextPiece = next { position = (12, 8) }
                                      , board = startBoard
                                      , linesText = linetxt
                                      , gameOver = False
                                      }

-- | Handle events, then draw the game, then do it again (unless you quit)
initialGS fnt = do time <- initialTimer
                   linetxt <- renderTextSolid fnt "0" textColor
                   frst <- spawnBlock'
                   next <- spawnBlock'
                   return $ GameState { lineNum = 0
                                      , timer = time
                                      , currentPiece = frst
                                      , nextPiece = next { position = (12, 8) }
                                      , board = startBoard
                                      , linesText = linetxt
                                      , gameOver = False
                                      }

-- | Handle events, then draw the game, then do it again (unless you quit)