No description
Find a file
Griffin Smith d62aba218d Switch to DelaunayTriangulation.Naive
Per https://github.com/noinia/hgeometry/issues/28, occasionally
DelaunayTriangulation.DivideAndConquer loops infinitely - in this case,
I was able to consistently use the seed 127624940715530481, to generate
a dungeon which had the following room centroids:

    [ Point2 [38.5,3.5] :+ 0
    , Point2 [67.0,33.0] :+ 1
    , Point2 [46.0,45.5] :+ 2
    , Point2 [55.5,42.0] :+ 3
    , Point2 [36.0,25.0] :+ 4
    , Point2 [76.5,12.0] :+ 5
    , Point2 [29.0,26.5] :+ 6
    , Point2 [55.0,10.5] :+ 7
    ]

and cause delaunay triangulation to loop indefinitely (or at least
longer than I cared to wait for). Given the size of our graphs switching
to naive generation should be fine performance-wise, and avoids the
infinite loop.
2020-01-19 13:19:00 -05:00
.github Fail on all warnings in CI 2019-11-30 18:16:48 -05:00
build Add support for multiple levels 2020-01-04 23:48:51 -05:00
src Switch to DelaunayTriangulation.Naive 2020-01-19 13:19:00 -05:00
test Generate more reasonable doors 2020-01-08 23:15:32 -05:00
.gitignore gitignore debug.log 2019-09-07 14:52:37 -04:00
default.nix Pin to a specific version of all-hies 2020-01-03 18:30:33 -05:00
haskell-overlay.nix Add support for multiple levels 2020-01-04 23:48:51 -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 support for multiple levels 2020-01-04 23:48:51 -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 support for multiple levels 2020-01-04 23:48:51 -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