never executed always true always false
1 module HelVM.HelMA.Automata.Piet.Types.Program (
2 isBlocked,
3 Program(..),
4 ) where
5
6 import HelVM.HelMA.Automata.Piet.Types.Color
7 import HelVM.HelMA.Automata.Piet.Types.Coordinates
8 import HelVM.HelMA.Automata.Piet.Types.Image
9 import HelVM.HelMA.Automata.Piet.Types.Label
10
11 isBlocked :: Coordinates -> Program -> Bool
12 isBlocked pos p = not (inRangeImage pos $ image p) || (Black == pixelImage pos (image p))
13
14 data Program = Program
15 { image :: Image Color
16 , mask :: Image LabelKey
17 , info :: IntMap (Maybe LabelInfo)
18 }