Parcourir la source

Convert Grid to binary matrix

DricomDragon il y a 5 ans
Parent
commit
6202314a5b
1 fichiers modifiés avec 11 ajouts et 1 suppressions
  1. 11 1
      tp/mine-sweeper/main.hs

+ 11 - 1
tp/mine-sweeper/main.hs

@@ -44,10 +44,20 @@ grid h w s = Grid [ [Covered 0 (S.member (y, x) s) False | x <- [0..w-1] ] | y <
 
 randomRs (x, y) sg = [x + mod k (y - x) | k <- [1..y] ] -- TODO : replace
 
+mineIndic::Cell -> Int
+mineIndic c = let Covered _ b _ = c in if b then 1 else 0
+
+mines::Grid -> [[Int]]
+mines g = let Grid m = g in map (map mineIndic) m
+
 
 -- Testing data
 
-tinyGrid = Grid [
+dtTinyGrid = Grid [
                     [Covered 2 True False, Uncovered 2, Covered 2 True False],
                     [Selected, Uncovered 0, Covered 2 True True]
                 ]
+
+dtRS = randSet 2 SG SG 3 4
+dtGridCover = grid 3 4 dtRS
+dtMines = mines dtGridCover