X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=blobdiff_plain;f=src%2Fplugins%2Fdefault%2Fmain.scm;h=7a64459f52d2908cfd6c4141e9ecdd46497001c1;hp=866628b8146affe027db2864a2bde4c1f0017692;hb=4f1840da0753c2e3e9d94cceb4127c7fee77dcb4;hpb=d5019db1298fc13fe68ec4d4f48b583a0148b88c diff --git a/src/plugins/default/main.scm b/src/plugins/default/main.scm index 866628b..7a64459 100644 --- a/src/plugins/default/main.scm +++ b/src/plugins/default/main.scm @@ -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)