Les algorithmes de labyrinthe des labyrinthes de Jamis Buck pour les programmeurs, implémentés à Clojure.
Voir It en action sur http://glv.github.io/snergly.
Je fais cela comme un projet amusant pour améliorer mes compétences en clojure.
J'aimerais traverser tous les algorithmes de labyrinthe eux-mêmes; Je vois déjà assez du même genre de complexité pour faire face à ce que je pense que cela m'aidera avec certaines des difficultés que j'ai avec Cló.
C'est aussi une belle excuse pour moi de jouer avec Clojurescript et OM, pour construire des écrans dynamiques qui montrent les algorithmes de génération de labyrinthe en action, animant le flux des algorithmes lorsqu'ils traitent les labyrinthes.
Snergly: run and print a maze generation algorithm.
Usage: lein run [options] algorithm
Options:
-c, --cell-size PIXELS 10 Size of maze cells. Ignored when rendering as text.
-d, --distances START Display result maze with distance labels from a starting cell (e.g., 2,2).
-h, --help
-l, --longest Show the longest path through the maze.
-o, --output FILENAME Write output to an image file (format defined by extension)
-p, --path-to END Result maze should show the path from START to END (requires -d).
-s, --size DIMENS [5 5] Grid size (e.g. 5 or 8x5)
Algorithms:
aldous-broder
binary-tree
hunt-and-kill
sidewinder
wilsons
all
Pour faire fonctionner un environnement de développement interactif:
lein run -m clojure.main script/figwheel.clj
Et ouvrez votre navigateur à LocalHost: 3449. Cela compilera automatiquement et enverra toutes les modifications au navigateur sans avoir besoin de recharger. Une fois le processus de compilation terminé, vous obtiendrez un navigateur connecté REPL. Un moyen facile de l'essayer est:
(js/alert "Am I connected?")
Et vous devriez voir une alerte dans la fenêtre du navigateur.
Pour nettoyer tous les fichiers compilés:
lein clean
Pour créer une course de production de production:
lein cljsbuild once min
Et ouvrez votre navigateur dans resources/public/index.html . Vous n'obtiendrez pas de rechargement en direct, ni de remplacement.
Copyright © 2015 Glenn Vanderburg
Distribué sous la licence publique Eclipse soit la version 1.0 ou (à votre option) toute version ultérieure.