diff --git a/src/Hanafuda/Message.hs b/src/Hanafuda/Message.hs index 4506a7f..ce33786 100644 --- a/src/Hanafuda/Message.hs +++ b/src/Hanafuda/Message.hs @@ -13,6 +13,7 @@ module Hanafuda.Message ( , PublicPlayer(..) , PublicState(..) , Room + , orderCoordinates ) where import Data.Char (toLower) @@ -153,6 +154,13 @@ instance FromJSON Coordinates instance ToJSON Coordinates where toEncoding = genericToEncoding defaultOptions +orderCoordinates :: Coordinates -> Coordinates -> Maybe Ordering +orderCoordinates coordinatesA coordinatesB + | gameID coordinatesA == gameID coordinatesB = Just $ compare + (month coordinatesA, turn coordinatesA) + (month coordinatesB, turn coordinatesB) + | otherwise = Nothing + data PrivateState = PrivateState { link :: Coordinates , hands :: Map PlayerID Hanafuda.Pack