module Command where import FRP.Yampa data Command = CmdQuit | CmdNewGame | CmdFreeze | CmdResume | CmdPassHigh {dt :: Time} | CmdPassLow {dt :: Time} | CmdKickHigh {dt :: Time} | CmdKickLow {dt :: Time} | CmdToggleFoot | CmdTakeOver | CmdFlipHigh | CmdFlipLow | CmdMoveForward | CmdMoveBackward | CmdMoveLeft | CmdMoveRight | CmdMoveToGoal | CmdMoveToMe | CmdFlipMeHigh | CmdFlipMeLow deriving (Show, Eq, Ord) cmdQuit :: [Command] -> Bool cmdQuit [] = False; cmdQuit (c:cs) = case c of CmdQuit -> True ; _ -> cmdQuit cs cmdFreeze :: [Command] -> Bool cmdFreeze [] = False; cmdFreeze (c:cs) = case c of CmdFreeze -> True ; _ -> cmdFreeze cs cmdToggleFoot :: [Command] -> Bool cmdToggleFoot [] = False; cmdToggleFoot (c:cs) = case c of CmdToggleFoot -> True ; _ -> cmdToggleFoot cs cmdTakeOver :: [Command] -> Bool cmdTakeOver [] = False; cmdTakeOver (c:cs) = case c of CmdTakeOver -> True ; _ -> cmdTakeOver cs cmdMoveForward :: [Command] -> Bool cmdMoveForward [] = False; cmdMoveForward (c:cs) = case c of CmdMoveForward -> True ; _ -> cmdMoveForward cs cmdMoveBackward :: [Command] -> Bool cmdMoveBackward [] = False; cmdMoveBackward (c:cs) = case c of CmdMoveBackward -> True ; _ -> cmdMoveBackward cs cmdMoveLeft :: [Command] -> Bool cmdMoveLeft [] = False; cmdMoveLeft (c:cs) = case c of CmdMoveLeft -> True ; _ -> cmdMoveLeft cs cmdMoveRight :: [Command] -> Bool cmdMoveRight [] = False; cmdMoveRight (c:cs) = case c of CmdMoveRight -> True ; _ -> cmdMoveRight cs cmdMoveToGoal :: [Command] -> Bool cmdMoveToGoal [] = False; cmdMoveToGoal (c:cs) = case c of CmdMoveToGoal -> True ; _ -> cmdMoveToGoal cs cmdMoveToMe :: [Command] -> Bool cmdMoveToMe [] = False; cmdMoveToMe (c:cs) = case c of CmdMoveToMe -> True ; _ -> cmdMoveToMe cs cmdFlipMeLow :: [Command] -> Bool cmdFlipMeLow [] = False; cmdFlipMeLow (c:cs) = case c of CmdFlipMeLow -> True ; _ -> cmdFlipMeLow cs cmdFlipMeHigh :: [Command] -> Bool cmdFlipMeHigh [] = False; cmdFlipMeHigh (c:cs) = case c of CmdFlipMeHigh -> True ; _ -> cmdFlipMeHigh cs