1234567891011121314151617181920212223242526272829303132333435 |
- -- Mine Sweeper Lab
- -- Import section
- import Data.Char
- -- Types
- data Cell = Covered Int Bool Bool -- number of bombs around ; has bomb ; has flag
- | Uncovered Int -- number of bombs around
- | Selected
- data Grid = Grid [[Cell]]
- -- Methods
- instance Show Cell where
- show ( Covered _ _ hasFlag ) = if hasFlag then "[F]" else "[ ]"
- show ( Uncovered n ) = ['(', intToDigit n, ')']
- show Selected = ">x<"
- instance Show Grid where
- show (Grid a) = unlines $ map (unwords . map show) a
- -- Functions
- -- Testing data
- tinyGrid = Grid [
- [Covered 2 True False, Uncovered 2, Covered 2 True False],
- [Selected, Uncovered 0, Covered 2 True True]
- ]
|