diff --git a/src/ConsoleUI.hs b/src/ConsoleUI.hs index a9ba962..3d150f6 100755 --- a/src/ConsoleUI.hs +++ b/src/ConsoleUI.hs @@ -54,13 +54,10 @@ printWaterdeep :: WaterdeepState -> IO () printWaterdeep w = do let playerStates = map snd $ IM.toAscList $ w ^. gamePlayerStates clearScreen - putStrLn ("Players: " ++ intercalate ", " (map (^. playerName) playerStates)) - putStrLn ("First Player: " ++ - (w ^. gamePlayerState (w ^. gameFirstPlayer) . playerName)) - putStrLn ("Current Round: " ++ show (w ^. gameCurrentRound)) - let p = w ^. gameCurrentPlayer - when (p /= noPlayerID) $ - putStrLn ("Current Player: " ++ (w ^. gamePlayerState p . playerName)) + printf "Round %d; First Player: %s; Current Player: %s\n" + (w ^. gameCurrentRound) + (w ^. gamePlayerState (w ^. gameFirstPlayer) . playerName) + (w ^. gamePlayerState (w ^. gameCurrentPlayer) . playerName) putStrLn "" putStrLn "Cliffwatch Inn:" forM_ (w ^. gameCliffwatchInn) $ \q -> do @@ -74,14 +71,15 @@ printWaterdeep w = do (b ^. buildingAccumulation) putStrLn "" forM_ playerStates $ \p -> do - printf "%s's State (%s):\n" (p ^. playerName) + printf "%s's State (%s; %d points; %d agents):\n" (p ^. playerName) (show (p ^. playerFaction . factionColor)) - putStrLn (" Score: " ++ show (p ^. playerScore)) - putStrLn (" Tavern: " ++ (p ^. playerTavern . to showTavern)) - putStrLn (" Incomplete: " ++ showItems (p ^.. playerIncompleteQuests . traverse . questTitle)) - putStrLn (" Complete: " ++ showItems (p ^.. playerCompletedQuests . traverse . questTitle)) - putStrLn (" Intrigues: " ++ showItems (p ^.. playerIntrigueCards . traverse . intrigueTitle)) - putStrLn (" Agent Pool: " ++ show (p ^. playerAgentsInPool)) + (p ^. playerScore) + (p ^. playerAgentsInPool) + putStrLn (" Tavern: " ++ (p ^. playerTavern . to showTavern)) + putStrLn (" Incomplete: " ++ showItems (p ^.. playerIncompleteQuests . traverse . questTitle)) + putStrLn (" Complete: " ++ showItems (p ^.. playerCompletedQuests . traverse . questTitle)) + putStrLn (" Plot Quests: " ++ showItems (p ^.. playerPlotQuests . traverse . questTitle)) + putStrLn (" Intrigues: " ++ showItems (p ^.. playerIntrigueCards . traverse . intrigueTitle)) putStrLn "" showItems :: [String] -> String