tak-0.1.0.0: src/PlayTak/Types.hs
module PlayTak.Types where
import Control.Concurrent
import Text.Parsec
import Tak
data PlayTakClient = PlayTakClient {
clientChanCmd :: Chan String
}
type Username = String
type Password = String
type Size = Int
type GameNumber = Int
type Time = Int
data PlayTakMsg = Welcome | PleaseLogin | LoggedIn Username
| SeekNew GameNumber Username Size Time
| SeekRemove GameNumber Username Size Time
| Online Username
| Shout Username String
| GameStart GameNumber Size Username Username Colour
| PlayMsg GameNumber Play
| Time GameNumber Time Time
| Over GameNumber Score Score
| OfferDraw GameNumber
| RemoveDraw GameNumber
| Resign GameNumber
| RequestUndo GameNumber
| RemoveUndo GameNumber
| Undo GameNumber
| Abandon GameNumber
| Message String
| ErrorMsg String
| NOK
| OK
| GameListAdd GameNumber Username Username Size Time Int Int Username
| GameListRemove GameNumber Username Username Size Time Int Int Username
| ParseFailed String ParseError deriving Show
data Score = RoadScore | FlatScore | DrawScore | ZeroScore | AbandonScore deriving Show