No description
Find a file
Griffin Smith e76567b9e7 Add dungeon level generation
Add a dungeon level generator, which:

1. generates an infinite sequence of rectangular rooms within the
   dimensions of the level
2. removes any duplicates from that sequence
3. Generates a graph from the delaunay triangulation of the centerpoints
   of those rooms
4. Generates the minimum-spanning-tree of that delaunay triangulation,
   with weights given by line length in points
5. Adds back a subset (default 10-15%) of edges from the delaunay
   triangulation to the graph
6. Uses the resulting graph to draw corridors between the rooms, using a
   random point on the near edge of each room to pick the points of the
   corridors
2019-12-30 11:31:56 -05:00
.github Fail on all warnings in CI 2019-11-30 18:16:48 -05:00
build Add dungeon level generation 2019-12-30 11:31:56 -05:00
src Add dungeon level generation 2019-12-30 11:31:56 -05:00
test Add dungeon level generation 2019-12-30 11:31:56 -05:00
.gitignore gitignore debug.log 2019-09-07 14:52:37 -04:00
default.nix Fail on all warnings in CI 2019-11-30 18:16:48 -05:00
haskell-overlay.nix Add dungeon level generation 2019-12-30 11:31:56 -05:00
hie.sh An @-sign in a box, in haskell 2019-08-25 13:28:10 -04:00
LICENSE An @-sign in a box, in haskell 2019-08-25 13:28:10 -04:00
nixpkgs.nix Use haskellSrc2nix over explicit cabal2nix 2019-08-31 13:15:17 -04:00
package.yaml Add dungeon level generation 2019-12-30 11:31:56 -05:00
pkg.nix Gitignore source before passing to nix 2019-11-27 13:20:46 -05:00
README.org Use correct bin path in README 2019-11-30 18:25:32 -05:00
Setup.hs An @-sign in a box, in haskell 2019-08-25 13:28:10 -04:00
shell.nix Add dungeon level generation 2019-12-30 11:31:56 -05:00
xanthous.cabal Add dungeon level generation 2019-12-30 11:31:56 -05:00

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