diff options
author | Griffin Smith <root@gws.fyi> | 2019-08-25T17·28-0400 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-08-25T17·28-0400 |
commit | d3f3890dc5408581eb6181125c871d1cf2c0e18f (patch) | |
tree | ed6d9e396e6c732b1bce27ea6962ce408b59f218 /src/Xanthous/Game/Draw.hs | |
parent | fb0d1b3e66251aa56a3df1d05fd4b82b33380a31 (diff) |
An @-sign in a box, in haskell
Initial commit of a Haskell version of Xanthous, written using Brick and built with Nix. This is so much nicer and so much easier
Diffstat (limited to 'src/Xanthous/Game/Draw.hs')
-rw-r--r-- | src/Xanthous/Game/Draw.hs | 28 |
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 000000000000..2d793ba27bd5 --- /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) |