Skip to content

Commit 33db960

Browse files
author
Julien Dehos
committed
levels + view ok (first draw to be fixed)
1 parent a8850cc commit 33db960

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

src/Component.hs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Data.IntSet qualified as IS
88
import Language.Javascript.JSaddle (liftJSM, FromJSVal(..), ToJSVal(..))
99
import Miso
1010
import Miso.Canvas as Canvas
11+
import Miso.CSS qualified as CSS
1112
import Miso.Lens
1213
import Miso.Html.Element as H
1314
import Miso.Html.Event as E
@@ -40,9 +41,8 @@ data Action
4041

4142
updateModel :: Action -> Transition Model Action
4243

43-
updateModel (ActionSetLevel n) = do
44+
updateModel (ActionSetLevel n) =
4445
put $ mkModel n
45-
io_ $ consoleLog $ "level " <> ms (show n)
4646

4747
updateModel (ActionKey keys)
4848
| IS.member 37 keys = doPlayMove $ playMove MoveLeft
@@ -96,21 +96,23 @@ instance FromJSVal Resources where
9696
-------------------------------------------------------------------------------
9797

9898
viewModel :: Model -> View Model Action
99-
viewModel m@Model{..} =
100-
div_ []
99+
viewModel m@Model{..} =
100+
div_ [ id_ "main div" ]
101101
[ p_ []
102-
[ select_ [ onChange ActionAskLevel ] (map fmtOption [1 .. length allWorlds])
103-
, button_ [ onClick (ActionSetLevel $ getLevel _modelGame) ] [ "new game" ]
102+
[ select_ [ onChange ActionAskLevel ] (map fmtOption [1 .. length allWorlds])
103+
, button_ [ onClick (ActionSetLevel $ getLevel _modelGame) ] [ "reset" ]
104104
, button_ [ onClick (ActionSetLevel $ 1 + getLevel _modelGame) ] [ "next level" ]
105105
]
106106
, p_ [] [ text ("nb moves: " <> ms (show _modelNbMoves) <> status) ]
107107
, Canvas.canvas
108108
[ width_ $ ms $ show w
109109
, height_ $ ms $ show h
110+
, CSS.style_ [ CSS.border "1px solid black" ]
110111
]
111112
initCanvas
112113
(drawCanvas m w h)
113114
]
115+
114116
where
115117
(w, h) = ij2xy $ getNiNj _modelGame
116118

@@ -166,9 +168,8 @@ ij2xy (i, j) = (fromIntegral (assetSize*j), fromIntegral (assetSize*i))
166168

167169
mkComponent :: App Model Action
168170
mkComponent =
169-
let initialMode = mkModel 1
170-
in (component initialMode updateModel viewModel)
171-
{ subs = [ keyboardSub ActionKey ]
172-
-- , logLevel = DebugAll
173-
}
171+
(component initialModel updateModel viewModel)
172+
{ subs = [ keyboardSub ActionKey ]
173+
-- , logLevel = DebugAll
174+
}
174175

src/Game.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ getLevel = _gameWorldIdx
4242
mkGame :: Int -> Game
4343
mkGame n = Game w (k + 1) (w ^. worldPlayer) (w ^. worldBoxes)
4444
where
45-
k = n-1 `mod` length allWorlds
45+
k = mod (n-1) (length allWorlds)
4646
w = allWorlds !! k
4747

4848
playMove :: Move -> Game -> Maybe Game

src/GeneratedWorlds.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ allWorlds =
1414
, World { _worldNiNj = (13,22), _worldBoard = V.fromList [CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE], _worldBoxes = S.fromList [(3,11),(3,13),(4,5),(4,6),(4,7),(4,9),(4,12),(5,6),(5,12),(6,5),(6,6),(6,9),(6,11),(6,13),(7,6),(9,5),(10,2),(10,3),(10,5),(10,6)], _worldPlayer = (10,8)}
1515
, World { _worldNiNj = (13,17), _worldBoard = V.fromList [CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellW,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellE,CellE,CellE,CellW,CellW,CellT,CellT,CellT,CellT,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellT,CellT,CellT,CellT,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellE,CellW,CellT,CellT,CellT,CellT,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellE,CellW,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellE], _worldBoxes = S.fromList [(2,11),(3,14),(5,10),(5,13),(6,9),(6,11),(6,12),(7,9),(7,12),(8,11),(9,10),(9,12)], _worldPlayer = (7,14)}
1616
, World { _worldNiNj = (11,12), _worldBoard = V.fromList [CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellE,CellW,CellT,CellT,CellE,CellE,CellW,CellE,CellW,CellW,CellE,CellW,CellW,CellW,CellT,CellT,CellE,CellE,CellW,CellW,CellW,CellE,CellE,CellE,CellW,CellW,CellT,CellT,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellT,CellT,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellW,CellW,CellT,CellT,CellW,CellW,CellW,CellE,CellW,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW], _worldBoxes = S.fromList [(3,8),(3,9),(4,9),(5,9),(6,5),(6,8),(7,6),(7,9),(8,5),(8,8)], _worldPlayer = (1,9)}
17-
, World { _worldNiNj = (12,13), _worldBoard = V.fromList [CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellW,CellW,CellE,CellT,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellT,CellW,CellW,CellW,CellW,CellT,CellW,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellT,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellW,CellW,CellE,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellE,CellE,CellT,CellW,CellW,CellW,CellW,CellT,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellE,CellT,CellT,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellW,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellT,CellT,CellT,CellW,CellE,CellW,CellE,CellE,CellE,CellT,CellW,CellT,CellW,CellT,CellT,CellT,CellW,CellE,CellW,CellE,CellT,CellW,CellW,CellW,CellT,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE], _worldBoxes = S.fromList [(2,9),(2,10),(3,5),(4,3),(5,9),(6,2),(7,2),(7,4),(7,6),(9,2),(9,3)], _worldPlayer = (2,5)}
17+
, World { _worldNiNj = (12,13), _worldBoard = V.fromList [CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellT,CellW,CellW,CellW,CellW,CellT,CellW,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellT,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellW,CellW,CellE,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellE,CellE,CellT,CellW,CellW,CellW,CellW,CellT,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellE,CellT,CellT,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellW,CellE,CellE,CellE,CellT,CellW,CellW,CellW,CellT,CellT,CellT,CellW,CellE,CellW,CellE,CellE,CellE,CellT,CellW,CellT,CellW,CellT,CellT,CellT,CellW,CellE,CellW,CellE,CellT,CellW,CellW,CellW,CellT,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE], _worldBoxes = S.fromList [(2,9),(2,10),(3,5),(4,3),(5,9),(6,2),(7,2),(7,4),(7,6),(9,2),(9,3)], _worldPlayer = (2,5)}
1818
, World { _worldNiNj = (17,16), _worldBoard = V.fromList [CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE], _worldBoxes = S.fromList [(2,7),(2,11),(2,13),(3,4),(3,7),(3,12),(4,5),(4,7),(5,4),(6,3),(6,5),(6,7),(7,5),(7,8),(8,4),(8,9),(8,11),(8,13)], _worldPlayer = (6,1)}
1919
, World { _worldNiNj = (18,17), _worldBoard = V.fromList [CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellW,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellE,CellW,CellW,CellE,CellE,CellT,CellT,CellT,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE], _worldBoxes = S.fromList [(7,7),(7,8),(7,9),(8,8),(8,10),(9,6),(9,8),(10,3),(10,6),(10,11),(10,14),(11,7),(11,8),(11,10),(12,7)], _worldPlayer = (10,1)}
2020
, World { _worldNiNj = (20,21), _worldBoard = V.fromList [CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellW,CellE,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellW,CellW,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellW,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellW,CellW,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellW,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellT,CellT,CellT,CellT,CellT,CellW,CellE,CellE,CellW,CellW,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellE,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellW,CellE,CellE,CellE,CellE], _worldBoxes = S.fromList [(5,10),(5,11),(5,12),(6,2),(6,3),(6,7),(6,8),(6,10),(7,3),(7,4),(7,5),(7,11),(8,2),(8,8),(8,9),(8,11),(8,12),(9,9),(10,8),(10,10),(10,12),(12,9),(12,11),(13,8),(13,9),(13,11),(13,13),(14,9),(15,8),(15,9),(15,10),(15,12),(15,13),(15,14)], _worldPlayer = (5,2)}

src/Model.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
module Model where
33

4-
-- import Miso
54
import Miso.Lens
65
import Miso.Lens.TH
76

@@ -10,10 +9,14 @@ import Game
109
data Model = Model
1110
{ _modelGame :: Game
1211
, _modelNbMoves :: Int
12+
, _modelStarted :: Bool
1313
} deriving (Eq)
1414

1515
makeLenses ''Model
1616

17+
initialModel :: Model
18+
initialModel = Model (mkGame 1) 0 False
19+
1720
mkModel :: Int -> Model
18-
mkModel n = Model (mkGame n) 0
21+
mkModel n = Model (mkGame n) 0 True
1922

0 commit comments

Comments
 (0)