Imporve output (say function)
authorJoachim Breitner <mail@joachim-breitner.de>
Sat, 5 Jul 2008 09:59:01 +0000 (09:59 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Sat, 5 Jul 2008 09:59:01 +0000 (09:59 +0000)
Partty.hs

index 4496293..66e8c66 100644 (file)
--- a/Partty.hs
+++ b/Partty.hs
@@ -19,6 +19,7 @@ module Partty
        , Place
 
        , send
+       , say
        )
 where
 
@@ -146,7 +147,7 @@ runPartty host port username password dcb ncb initialData = do
        InternalMessage (MyIdIs myId) <- parseIncomingMessage `liftM` hGetLine h
        DayMessage (PlayerEnter player startPlace) <- parseIncomingMessage `liftM` hGetLine h
        when (player /= myId) $ error "Server did not tell us where we start"
-       putStrLn $ "Starting at " ++ show startPlace
+       putStrLn $ "[" ++ username ++ "] Starting at " ++ show startPlace
 
        let initialState = ParttyState
                { psMyName      = myId
@@ -288,7 +289,7 @@ parseIncomingMessage msg = case id of
        parseName str = (read (words str !! 2), read (words str !! 2))
 
 sendClientMessage :: Handle -> ClientMessage -> IO ()
-sendClientMessage h msg = do putStrLn $ "Client says: " ++ (show msg)
+sendClientMessage h msg = do putStrLn $ "       sending " ++ (show msg)
                              hPutStrLn h (toString msg)
   where toString (Goto place)                    = unwords ["goto", show place]
         toString (Tell player (PartyAt place))   = unwords ["party",    show player, show place]
@@ -321,4 +322,9 @@ gameDay = asks psDay
 send :: (MonadWriter [ClientMessage] m) => ClientMessage -> m ()
 send msg = tell [msg]
 
+-- Output
 
+say :: (MonadIO m, MonadReader ParttyState m) => String -> m ()
+say s = do 
+       name <- asks psLoginName
+       liftIO $ putStrLn $ "[" ++ name ++ "] " ++ s