3AFV4YVYLZGHZDSMO3I3DCZE2BZKA2SOBQ6DI2GZILOUGHLVRCQAC ALXARSBZW27Q3HVNFNFJQCJXR7OIVW5ABTE63HYXADK7UPIPGM5QC ANAAF3LVFG2YCTAWUZKMT75XQN6YNS4CLLZIXSVGKJQRWJVNBMEAC RIB2JXPMZHC5XCLGB7Q425PVNJPHMWPJSLMR2GTFLD474WB72ZHAC 7QP2V7ZBVZ7SKQ3SYV6NYA7V77G3Y7GF5V6EPIXLIYFSMFRWR4VAC JDI62ZLKN7J4572C7E2WL2HPGAMFU5YEIDOERVGIOBPOOV3DRF5AC Y2N6GDITBJID3Q4Z2Y7KEDY46F7R3SU4DRK3ST6ZMA4CNLXWSFDAC : set Robot { name = "L0" , ops = Move <$> repeat L } (shift v 17 H 0): set Robot { name = "L1" , ops = Move <$> repeat L } (shift v 18 H 0): set Robot { name = "L2" , ops = Move <$> repeat L } (shift v 19 H 0)
: set Robot { name = "L0" , ops = Move <$> repeat L } (shift v 7 H $ shift v 1 I 0): set Robot { name = "L1" , ops = Move <$> repeat L } (shift v 8 H $ shift v 1 I 0): set Robot { name = "L2" , ops = Move <$> repeat L } (shift v 9 H $ shift v 1 I 0)
: set Robot { name = "m2" , ops = Move <$> repeat H } (shift v 5 N $ shift v 1 L 0): set Robot { name = "m1" , ops = Move <$> cycle [I,N] } (shift v 5 N 0)
: set Robot { name = "m1" , ops = Move <$> repeat H } (shift v 5 N $ shift v 1 L 0): set Robot { name = "m2" , ops = Move <$> [I] } (shift v 5 N 0): set Robot { name = "p0" , ops = Move <$> repeat I } (shift v 7 L 0): set Robot { name = "p1" , ops = [] } (shift v 7 L $ shift v 3 I 0): set Robot { name = "p2" , ops = [] } (shift v 7 L $ shift v 5 I 0): set Robot { name = "p3" , ops = [] } (shift v 7 L $ shift v 7 I 0): set Robot { name = "Tp" , ops = cycle [Move U , NoOp] } (shift v 6 H $ shift v 6 I 0): set Robot { name = "Tp" , ops = cycle [Move N , NoOp] } (shift v 8 H $ shift v 9 I 0): set Robot { name = "Tp" , ops = cycle [Move L , NoOp] } (shift v 9 H $ shift v 7 I 0): set Robot { name = "T0" , ops = [] } (shift v 8 H $ shift v 8 I 0): set Robot { name = "T1" , ops = [] } (shift v 8 H $ shift v 7 I 0): set Robot { name = "T2" , ops = [] } (shift v 7 H $ shift v 7 I 0)
| Dumb <- mode s , Robot {} <- a , "m0" <- name a = color Green Vivid| Dumb <- mode s , Robot {} <- a , "m1" <- name a = color Green Vivid| Dumb <- mode s , Robot {} <- a , "p0" <- name a = color White Dull| Dumb <- mode s , Robot {} <- a , "Tp" <- name a = color White Dull| Dumb <- mode s , Robot {} <- a , "T0" <- name a = color Blue Dull| Dumb <- mode s , Robot {} <- a , "T1" <- name a = color Magenta Dull| Dumb <- mode s , Robot {} <- a , "T2" <- name a = color Red Dull
| Full <- mode s , Robot {} <- a , "m0" <- name a = rgbColor $ sRGB24 0x93 0xe9 0xbe -- #93e9be| Full <- mode s , Robot {} <- a , "m1" <- name a = rgbColor $ sRGB24 0x93 0xe9 0xbe -- #93e9be| Full <- mode s , Robot {} <- a , "p0" <- name a = rgbColor $ sRGB24 0xff 0xff 0xff -- #ffffff| Full <- mode s , Robot {} <- a , "Tp" <- name a = rgbColor $ sRGB24 0xff 0xff 0xff -- #ffffff| Full <- mode s , Robot {} <- a , "T0" <- name a = rgbColor $ sRGB24 0x66 0x66 0x99 -- #666699| Full <- mode s , Robot {} <- a , "T1" <- name a = rgbColor $ sRGB24 0x99 0x66 0x99 -- #996699| Full <- mode s , Robot {} <- a , "T2" <- name a = rgbColor $ sRGB24 0x99 0x66 0x66 -- #996666
push :: Maybe Dir| [dir] <- Map.keys $ Map.filterWithKey p ns = Just $ opposite dir| otherwise = Nothingwherep :: Dir -> Unit -> Boolp dir n = mass n && move n == Just (opposite dir)