Die Maze -Algorithmen von Jamis Bucks Labyrinthen für Programmierer, die in Clojure implementiert sind.
Siehe es in Aktion unter http://glv.github.io/snergly.
Ich mache dies als unterhaltsames Projekt, um meine Clojure -Fähigkeiten zu verbessern.
Ich würde gerne alle Labyrinth -Algorithmen selbst durcharbeiten; Ich sehe bereits genug von der gleichen Komplexität, um damit umzugehen. Ich denke, dies wird mir bei einigen der Kämpfe helfen, die ich mit Cló habe.
Dies ist auch eine schöne Ausrede für mich, mit ClojureScript und OM zu spielen, dynamische Displays zu erstellen, die die Labyrinth -Generierungsalgorithmen in Aktion zeigen und den Fluss der Algorithmen während der Verarbeitung von Labyrinthen animieren.
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
Um einen interaktiven Entwicklungsumfeld zu erhalten:
lein run -m clojure.main script/figwheel.clj
und öffnen Sie Ihren Browser bei Localhost: 3449. Dies wird automatisch kompilieren und alle Änderungen an den Browser senden, ohne dass sie neu geladen werden müssen. Nach Abschluss des Kompilierungsprozesses erhalten Sie einen Browser Connected Repl. Eine einfache Möglichkeit, es zu versuchen, ist:
(js/alert "Am I connected?")
Und Sie sollten eine Warnung im Browserfenster sehen.
So reinigen Sie alle kompilierten Dateien:
lein clean
Um einen Produktionsbuild -Lauf zu erstellen:
lein cljsbuild once min
Und öffnen Sie Ihren Browser in resources/public/index.html . Sie werden weder Live Reloading noch eine Wiederholung bekommen.
Copyright © 2015 Glenn Vanderburg
Verteilt unter der Eclipse Public Lizenz entweder Version 1.0 oder (nach Ihrer Option) jede spätere Version.