From d3f3890dc5408581eb6181125c871d1cf2c0e18f Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Sun, 25 Aug 2019 13:28:10 -0400 Subject: 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 --- src/Xanthous/Game/Draw.hs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/Xanthous/Game/Draw.hs (limited to 'src/Xanthous/Game/Draw.hs') 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) -- cgit 1.4.1