|
@@ -83,6 +83,17 @@ neighbourMap g =
|
|
|
let m = map (map mineIndic) cm in
|
|
|
foldl1' matrixSum (gridMoves m)
|
|
|
|
|
|
+updateCell::Cell -> Int -> Cell
|
|
|
+updateCell c n = case c of
|
|
|
+ Covered _ bomb flag -> Covered n bomb flag
|
|
|
+ Uncovered _ -> Uncovered n
|
|
|
+ Selected -> Selected
|
|
|
+
|
|
|
+updateGrid::Grid -> Mat -> Grid
|
|
|
+updateGrid g m =
|
|
|
+ let Grid cm = g in
|
|
|
+ Grid (zipWith (zipWith updateCell) cm m)
|
|
|
+
|
|
|
|
|
|
-- Testing data
|
|
|
|