No description
052bc8455a
Add a drop command, bound to 'd', which prompts the character for an item in their inventory, removes it from the inventory, and places it on the ground. Along the way I had to fix a bug in the `EntityMap.atPosition` lens, which was always appending to the existing entities at the position on set, without removing the entities that were already there - the rabbit hole of quickchecking the lens laws here also lead to replacing the target of this lens with a newtype called `VectorBag`, which ignores order (since the entitymap makes no guarantees about order of entities at a given position). |
||
---|---|---|
.github | ||
build | ||
src | ||
test | ||
.gitignore | ||
default.nix | ||
haskell-overlay.nix | ||
hie.sh | ||
LICENSE | ||
nixpkgs.nix | ||
package.yaml | ||
pkg.nix | ||
README.org | ||
Setup.hs | ||
shell.nix | ||
xanthous.cabal |
Xanthous
Building
$ nix build
Running
$ ./result/bin/xanthous [--help]
Keyboard commands
Keyboard commands are currently undocumented, but can be found in [this file. Movement uses the nethack-esque hjklybnu.
Development
$ nix-shell
# Build (for dev)
[nix-shell:xanthous]$ cabal new-build
# Run tests
[nix-shell:xanthous]$ cabal new-run test
# Run a repl
[nix-shell:xanthous]$ cabal new-repl