Update mapper and related files.
This commit is contained in:
parent
2df9b96765
commit
a5c2a4c825
4 changed files with 37 additions and 27 deletions
25
mapper.fnl
25
mapper.fnl
|
@ -1,20 +1,15 @@
|
|||
; Cell Stuff
|
||||
; This will result in a "2x2" cell, of [0 1 1 1], with 0 representing an empty
|
||||
; space, and 1 representing a wall.
|
||||
(var (hall-width wall-width) (values 1 2))
|
||||
|
||||
; This sets the "map width". This means 10 cells across and down. With each cell
|
||||
; being 2x2, this results in a 20x20 square map. All maps will be square (for
|
||||
; now).
|
||||
(var cell-num 7)
|
||||
|
||||
; Explicitly setting cell-size for convenience. All cells are squares
|
||||
; The "cell-num" is the number of cells across; it is then squared to make the
|
||||
; grid. Each cell has a "cell-size" of walls ("wall-width") and hallways
|
||||
; ("hall-width").
|
||||
(var cell-num 10)
|
||||
(var (hall-width wall-width) (values 2 1))
|
||||
(var cell-size (+ hall-width wall-width))
|
||||
|
||||
; Initialize the cell table
|
||||
(var cells {})
|
||||
(var cell [])
|
||||
(for [c 1 (* cell-num cell-num)]
|
||||
(var cell [])
|
||||
(for [i 1 cell-size]
|
||||
(for [j 1 cell-size]
|
||||
(var cell-index (+ j (* (- i 1) cell-size)))
|
||||
|
@ -23,8 +18,12 @@
|
|||
(tset cell cell-index 1))))
|
||||
(table.insert cells cell))
|
||||
|
||||
(fn map-row [i] (+ 1 (// (- i 1) cell-num)))
|
||||
(fn map-index [i] (+ (- (* i cell-size) 1) (* cell-size cell-num (- (map-row i) 1))))
|
||||
(fn cell-row [i] (+ 1 (// (- i 1) cell-num)))
|
||||
(fn map-index [i]
|
||||
(var cell-col (if (= 0 (% i cell-num)) cell-num (% i cell-num)))
|
||||
(+ (* cell-size cell-size cell-num (- (cell-row i) 1))
|
||||
(- (* cell-col cell-size) (- cell-size 1))))
|
||||
|
||||
(fn generate_cell_map [cells]
|
||||
(var cell_map [])
|
||||
(for [c 1 (length cells)]
|
||||
|
|
2
notes.md
2
notes.md
|
@ -40,7 +40,7 @@ solution is along the sides or bottom.
|
|||
(var cell-stack [(math.random 1 num-cells)])
|
||||
|
||||
(while (> 0 (length cell-stack)
|
||||
(var current-cell (table.remove cell-stack (length cell-stack)))
|
||||
(var current-cell (table.remove cell-stack))
|
||||
(tset cells current-cell :v true)
|
||||
|
||||
; Check if any of the current cell's neighbors are
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
(local state (require :state))
|
||||
(local mapper (require :mapper))
|
||||
;(local mapper (require :mapper))
|
||||
(local overlay (require :overlay))
|
||||
(local pi math.pi)
|
||||
; ### Screen Size ###
|
||||
|
@ -15,6 +15,11 @@
|
|||
[1 0 0 0 0 0 0 0 0 0 1 ]
|
||||
[1 0 0 0 0 0 0 0 3 0 1 ]
|
||||
[1 0 0 0 0 0 0 3 3 0 1 ]
|
||||
[1 1 1 1 1 1 0 0 0 0 1 ]
|
||||
[1 0 0 0 0 0 0 1 1 1 1 ]
|
||||
[1 0 1 1 1 1 1 1 1 1 1 ]
|
||||
[1 0 1 1 1 1 0 0 0 0 1 ]
|
||||
[1 0 1 1 1 1 1 1 1 0 1 ]
|
||||
[1 0 0 0 0 0 0 0 0 0 1 ]
|
||||
[1 1 1 1 1 1 1 1 1 1 1 ]])
|
||||
|
||||
|
|
30
test.fnl
30
test.fnl
|
@ -12,8 +12,7 @@
|
|||
(var cell-size (+ hall-width wall-width))
|
||||
|
||||
; Initialize the cell table
|
||||
(var cells [])
|
||||
(print (length cells))
|
||||
(var cells {})
|
||||
(for [c 1 (* cell-num cell-num)]
|
||||
(var cell [])
|
||||
(for [i 1 cell-size]
|
||||
|
@ -22,11 +21,13 @@
|
|||
(if (and (< i (+ hall-width 1)) (< j (+ hall-width 1)))
|
||||
(tset cell cell-index 0)
|
||||
(tset cell cell-index 1))))
|
||||
(print (length cell))
|
||||
(table.insert cells cell))
|
||||
|
||||
(fn map-row [i] (+ 1 (// (- i 1) cell-num)))
|
||||
(fn map-index [i] (+ (- (* i cell-size) 1) (* cell-size cell-num (- (map-row i) 1))))
|
||||
(fn cell-row [i] (+ 1 (// (- i 1) cell-num)))
|
||||
(fn map-index [i]
|
||||
(var cell-col (if (= 0 (% i cell-num)) cell-num (% i cell-num)))
|
||||
(+ (* cell-size cell-size cell-num (- (cell-row i) 1))
|
||||
(- (* cell-col cell-size) (- cell-size 1))))
|
||||
(fn generate_cell_map [cells]
|
||||
(var cell_map [])
|
||||
(for [c 1 (length cells)]
|
||||
|
@ -38,12 +39,17 @@
|
|||
(tset cell_map new-map-index (. cells c new-cell-index)))))
|
||||
cell_map)
|
||||
|
||||
(print (length cells))
|
||||
(fn print_cell_map [cells]
|
||||
(var output "")
|
||||
(for [i 1 (length cells)]
|
||||
(set output (.. output " " (. cells i)))
|
||||
(if (= 0 (% i (* cell-num cell-size))) (set output (.. output "\n"))))
|
||||
(print output))
|
||||
|
||||
(print (length (generate_cell_map cells)))
|
||||
(print_cell_map (generate_cell_map cells))
|
||||
|
||||
(var output "")
|
||||
(var ctp (. cells 51))
|
||||
(for [i 1 (length ctp)]
|
||||
(set output (.. output " " (. ctp i))))
|
||||
(print output)
|
||||
; (var output "")
|
||||
; (var ctp (. cells 51))
|
||||
; (for [i 1 (length ctp)]
|
||||
; (set output (.. output " " (. ctp i))))
|
||||
; (print output)
|
||||
|
|
Loading…
Reference in a new issue