wisp
 
(Arne Babenhauserheide)
2016-06-07: d20world: add map from cellidx to dienumber

d20world: add map from cellidx to dienumber

diff --git a/examples/d20world.w b/examples/d20world.w
--- a/examples/d20world.w
+++ b/examples/d20world.w
@@ -209,13 +209,27 @@ define : latlon2cellidx lat lon
               ; we start by calculating the fraction inside the sector
               lonsectorfraction : modulo slon 120
               ; we can further subdivide the sector by longitude into two subsectors
-              subseclon : if (< lon 60) lon (-120 lon)
+              subsec : if (< lonsectorfraction 60) 0 1
+              subseclon : if (= subsec 0) lonsectorfraction (- 120 lonsectorfraction)
               ; TODO find some more symmetry or start nontrivial geometry.
             . #t
 
+define : cellidx->dienumber idx
+      let
+       : numbers '(1 14 10 6
+                   19 18 4 8 9 16
+                   2 3 17 13 12 5
+                   11 15 7 20)
+       list-ref numbers (- idx 1)
+
 
 define : main args
        . "Test the code"
+       ; display : cellidx->dienumber 5
+       ; newline
+       ; display : latlon2cellidx 5 3
+       ; newline
+       ; exit 0
        display : d20-as-text world
        newline