Algoritma labirin dari labirin Jamis Buck untuk pemrogram, diimplementasikan di Clojure.
Melihatnya beraksi di http://glv.github.io/snergly.
Saya melakukan ini sebagai proyek yang menyenangkan untuk meningkatkan keterampilan clojure saya.
Saya ingin mengerjakan semua algoritma labirin sendiri; Saya sudah cukup melihat kompleksitas yang sama untuk dihadapi bahwa saya pikir ini akan membantu saya dengan beberapa perjuangan yang saya alami dengan Cló.
Ini juga merupakan alasan yang bagus bagi saya untuk bermain dengan Clojurescript dan OM, untuk membangun tampilan dinamis yang menunjukkan algoritma generasi labirin dalam aksi, menjiwai aliran algoritma saat mereka memproses labirin.
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
Untuk menjalankan lingkungan pengembangan interaktif:
lein run -m clojure.main script/figwheel.clj
dan buka browser Anda di LocalHost: 3449. Ini akan dikompilasi secara otomatis dan mengirim semua perubahan ke browser tanpa perlu memuat ulang. Setelah proses kompilasi selesai, Anda akan mendapatkan REPL yang terhubung dengan browser. Cara mudah untuk mencobanya adalah:
(js/alert "Am I connected?")
Dan Anda akan melihat peringatan di jendela browser.
Untuk membersihkan semua file yang dikompilasi:
lein clean
Untuk membuat proses pembuatan produksi:
lein cljsbuild once min
Dan buka browser Anda di resources/public/index.html . Anda tidak akan mendapatkan pemuatan ulang langsung, atau repl.
Hak Cipta © 2015 Glenn Vanderburg
Didistribusikan di bawah Lisensi Publik Eclipse Versi 1.0 atau (atas opsi Anda) versi selanjutnya.