diff options
author | Griffin Smith <root@gws.fyi> | 2019-08-31T17·17-0400 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-08-31T17·18-0400 |
commit | 4ef19aa35a6d63a8d9f7b6a7a11ac82c2a525783 (patch) | |
tree | 00a0109cca42bbdda93fa117142d381501c1bf00 /src/Xanthous/Command.hs | |
parent | 6eba471e2426e7e4e7d5c935e3ce973e13fd6b24 (diff) |
Add entities, and allow walking around
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
Diffstat (limited to 'src/Xanthous/Command.hs')
-rw-r--r-- | src/Xanthous/Command.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Xanthous/Command.hs b/src/Xanthous/Command.hs new file mode 100644 index 000000000000..50fe4abb4561 --- /dev/null +++ b/src/Xanthous/Command.hs @@ -0,0 +1,20 @@ +module Xanthous.Command where + +import Graphics.Vty.Input (Key(..), Modifier(..)) + +import Xanthous.Prelude hiding (Left, Right, Down) +import Xanthous.Data (Direction(..)) + +data Command + = Quit + | Move Direction + | PickUp + | PreviousMessage + +commandFromKey :: Key -> [Modifier] -> Maybe Command +commandFromKey (KChar 'q') [] = Just Quit +commandFromKey (KChar 'h') [] = Just $ Move Left +commandFromKey (KChar 'j') [] = Just $ Move Down +commandFromKey (KChar 'k') [] = Just $ Move Up +commandFromKey (KChar 'l') [] = Just $ Move Right +commandFromKey _ _ = Nothing |