]> git.jsancho.org Git - dungeon-master.git/blobdiff - src/plugins/default/main.scm
Some tabs
[dungeon-master.git] / src / plugins / default / main.scm
index 866628b8146affe027db2864a2bde4c1f0017692..7a64459f52d2908cfd6c4141e9ecdd46497001c1 100644 (file)
@@ -4,10 +4,31 @@
 (define (random-bool)
   (= (random 2) 1))
 
+(define pi 3.141592654)
+
 (define (city-map-generator patches)
   "City generator from https://github.com/watabou/TownGeneratorOS/blob/master/Source/com/watabou/towngenerator/building/Model.hx"
+  (set! *random-state* (random-state-from-platform))
   (when (= patches -1) (set! patches 15))
-  (display "lalala")(newline))
-  ;(build))
+  (build-patches patches))
+
+(define (build-patches patches)
+  (define* (get-points n seed #:optional (l '()))
+    (cond ((> n 0)
+           (let* ((a (+ seed (* (sqrt n) 5)))
+                  (r (if (= n 0)
+                         0
+                         (+ 10 (* n (+ 2 (random:exp))))))
+                  (point (list
+                          (* (cos a) r)
+                          (* (sin a) r))))
+             (get-points (- n 1) seed (cons point l))))
+          (else
+           l)))
+
+  (let* ((sa (* (random:exp) 2 pi))
+         (points (get-points (* 8 patches) sa)))
+    (display points)
+    (newline)))
 
 (dm:register-generator "city-map-generator" city-map-generator)