about summary refs log tree commit diff
path: root/src/Xanthous/Game/Draw.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Xanthous/Game/Draw.hs')
-rw-r--r--src/Xanthous/Game/Draw.hs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/Xanthous/Game/Draw.hs b/src/Xanthous/Game/Draw.hs
new file mode 100644
index 0000000000..2d793ba27b
--- /dev/null
+++ b/src/Xanthous/Game/Draw.hs
@@ -0,0 +1,28 @@
+module Xanthous.Game.Draw
+  ( drawGame
+  ) where
+
+import Xanthous.Prelude
+import Brick
+import Brick.Widgets.Border
+import Brick.Widgets.Border.Style
+
+import Xanthous.Game (GameState(..))
+import Xanthous.Resource (Name(..))
+
+drawMessages :: GameState -> Widget Name
+drawMessages _ = str "Welcome to Xanthous! It's dangerous out there, why not stay inside?"
+
+drawMap :: GameState -> Widget Name
+drawMap _game
+  = viewport MapViewport Both
+  $ vBox mapRows
+  where
+    -- TODO
+    firstRow = [str "@"] <> replicate 79 (str " ")
+    mapRows = firstRow <> (replicate 20 . hBox . replicate 80 $ str " ")
+
+drawGame :: GameState -> [Widget Name]
+drawGame game = pure . withBorderStyle unicode
+  $   drawMessages game
+  <=> border (drawMap game)