gameServer/EngineInteraction.hs
changeset 8506 3889dab021b8
parent 8503 e60c84b42f4d
child 8527 bf671ddf467c
equal deleted inserted replaced
8505:b899226cba41 8506:3889dab021b8
    38         decoded = liftM (splitMessages . BW.pack) $ Base64.decode $ B.unpack msg
    38         decoded = liftM (splitMessages . BW.pack) $ Base64.decode $ B.unpack msg
    39         check Nothing = (B.empty, B.empty)
    39         check Nothing = (B.empty, B.empty)
    40         check (Just msgs) = let (a, b) = (filter isLegal msgs, filter isNonEmpty a) in (encode a, encode b)
    40         check (Just msgs) = let (a, b) = (filter isLegal msgs, filter isNonEmpty a) in (encode a, encode b)
    41         encode = B.pack . Base64.encode . BW.unpack . B.concat
    41         encode = B.pack . Base64.encode . BW.unpack . B.concat
    42         isLegal m = (B.length m > 1) && (flip Set.member legalMessages . B.head . B.tail $ m)
    42         isLegal m = (B.length m > 1) && (flip Set.member legalMessages . B.head . B.tail $ m)
    43         isNonEmpty = (/=) '+' . B.head
    43         isNonEmpty = (/=) '+' . B.head . B.tail
    44         legalMessages = Set.fromList $ "M#+LlRrUuDdZzAaSjJ,sNpPwtghbc12345" ++ slotMessages
    44         legalMessages = Set.fromList $ "M#+LlRrUuDdZzAaSjJ,sNpPwtghbc12345" ++ slotMessages
    45         slotMessages = "\128\129\130\131\132\133\134\135\136\137\138"
    45         slotMessages = "\128\129\130\131\132\133\134\135\136\137\138"
    46 
    46 
    47 
    47 
    48 replayToDemo :: [TeamInfo]
    48 replayToDemo :: [TeamInfo]