Implemented toggling functionality for Level Acceleration Mode
This commit is contained in:
parent
b0c7f6c557
commit
f074add7a3
7 changed files with 222 additions and 75 deletions
12
app/Main.hs
12
app/Main.hs
|
@ -9,7 +9,7 @@ import qualified System.Directory as D
|
|||
import System.FilePath ((</>))
|
||||
|
||||
import Tetris (Game(..))
|
||||
import UI.PickLevel (pickLevel)
|
||||
import UI.PickLevel (pickLevel, LevelConfig(..))
|
||||
import UI.Game (playGame)
|
||||
|
||||
data Opts = Opts
|
||||
|
@ -70,11 +70,11 @@ hdOptStr (CustomChars s) = Just s
|
|||
|
||||
main :: IO ()
|
||||
main = do
|
||||
(Opts hd ml hs) <- execParser fullopts -- get CLI opts/args
|
||||
when hs (getHighScore >>= printM >> exitSuccess) -- show high score and exit
|
||||
l <- maybe pickLevel return ml -- pick level prompt if necessary
|
||||
g <- playGame l (hdOptStr hd) -- play game
|
||||
handleEndGame (_score g) -- save & print score
|
||||
(Opts hd ml hs) <- execParser fullopts
|
||||
when hs (getHighScore >>= printM >> exitSuccess)
|
||||
levelConfig <- maybe pickLevel (\l -> return $ LevelConfig l False) ml
|
||||
g <- playGame (levelNumber levelConfig) (hdOptStr hd) (progression levelConfig)
|
||||
handleEndGame (_score g)
|
||||
|
||||
handleEndGame :: Int -> IO ()
|
||||
handleEndGame s = do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue