about summary refs log tree commit diff
path: root/src/Xanthous/Resource.hs
AgeCommit message (Collapse)AuthorFilesLines
2019-11-30 Add a very basic inventory panelGriffin Smith1-14/+21
Add a very basic inventory panel to the game opened by pressing `i`, which displays the contents of the player's inventory in a basic list.
2019-11-29 Implement a "look" commandGriffin Smith1-0/+1
Implement the PointOnMap prompt type, which allows the player to move the cursor around and select a position on the map, and use this prompt type to implement a "look" command, describing all entities at the selected position.
2019-11-29 Implement saving+loading the gameGriffin Smith1-2/+11
Implement ToJSON and FromJSON for all of the various pieces of the game state, and add a pair of functions saveGame/loadGame implementing a prism to save the game as zlib-compressed JSON. To test this, there's now Arbitrary, CoArbitrary, and Function instances for all the parts of the game state - to get around circular imports with the concrete entities this unfortunately is happening via orphan instances, plus an hs-boot file to break a circular import that was just a little too hard to remove by moving things around. Ugh.
2019-09-20 Add the beginnings of a prompt systemGriffin Smith1-0/+1
Add the beginnings of a generic prompt system, with exclusive support atm for string prompts, and test it out by asking the character for their name at startup
2019-08-31 Add entities, and allow walking aroundGriffin Smith1-0/+2
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
2019-08-25 An @-sign in a box, in haskellGriffin Smith1-0/+11
Initial commit of a Haskell version of Xanthous, written using Brick and built with Nix. This is so much nicer and so much easier