gameServer/EngineInteraction.hs
changeset 11586 2963c85c6de4
parent 11577 bee3a2f8e117
child 11855 ad435d95ca4b
equal deleted inserted replaced
11585:026c329b1a13 11586:2963c85c6de4
    93         lft = foldr l Nothing
    93         lft = foldr l Nothing
    94         l m n = let m' = B.head $ B.tail m; tst = flip Set.member in
    94         l m n = let m' = B.head $ B.tail m; tst = flip Set.member in
    95                       if not $ tst timedMessages m' then n
    95                       if not $ tst timedMessages m' then n
    96                         else if '+' /= m' then Just Nothing else Just . Just . B.pack . Base64.encode . BW.unpack $ m
    96                         else if '+' /= m' then Just Nothing else Just . Just . B.pack . Base64.encode . BW.unpack $ m
    97         isNonEmpty = (/=) '+' . B.head . B.tail
    97         isNonEmpty = (/=) '+' . B.head . B.tail
    98         legalMessages = Set.fromList $ "M#+LlRrUuDdZzAaSjJ,sNpPwtgfhbc12345" ++ slotMessages
    98         legalMessages = Set.fromList $ "M#+LlRrUuDdZzAaSjJ,NpPwtgfhbc12345" ++ slotMessages
    99         slotMessages = "\128\129\130\131\132\133\134\135\136\137\138"
    99         slotMessages = "\128\129\130\131\132\133\134\135\136\137\138"
   100         timedMessages = Set.fromList $ "+LlRrUuDdZzAaSjJ,NpPwtgfc12345" ++ slotMessages
   100         timedMessages = Set.fromList $ "+LlRrUuDdZzAaSjJ,NpPwtgfc12345" ++ slotMessages
   101         isMalformed 'h' m | B.length m >= 3 = let hognum = m `B.index` 1; teamnum = m `BW.index` 2 in hognum < '1' || hognum > '8' || teamnum `L.notElem` teamsIndexes
   101         isMalformed 'h' m | B.length m >= 3 = let hognum = m `B.index` 1; teamnum = m `BW.index` 2 in hognum < '1' || hognum > '8' || teamnum `L.notElem` teamsIndexes
   102                           | otherwise = True
   102                           | otherwise = True
   103         isMalformed _ _ = False
   103         isMalformed _ _ = False