Use state more, start on menus
This commit is contained in:
parent
e63a0039b6
commit
fd96d53a34
7 changed files with 315 additions and 217 deletions
33
state.fnl
33
state.fnl
|
@ -2,34 +2,35 @@
|
|||
(local pi math.pi)
|
||||
|
||||
; The Player table holds all the player stuff
|
||||
; The Inventory table holds the player's inventory
|
||||
; [x y] coordinates, [d]irection, [f]ield-of-view
|
||||
; [o]xygen and [p]ower
|
||||
(var player {:x 3.5 :y 3.5 :d 0 :f (/ pi 3)
|
||||
:o 100 :p 45})
|
||||
; [x y] coordinates, [d] distance
|
||||
; [dx dy] direction vector
|
||||
; [o]xygen
|
||||
(var player {:x 3.5 :y 3.5 :d 0
|
||||
:o 100})
|
||||
(var inventory [])
|
||||
|
||||
; The Map table holds the map
|
||||
(var map [])
|
||||
; The Map table holds the map meta-data
|
||||
; [n] number of cells
|
||||
; [h w] hall and wall widths
|
||||
(var map {:n 10 :h 2 :w 2})
|
||||
|
||||
{:getPlayer (fn getPlayer [] player)
|
||||
:getX (fn getX [] player.x)
|
||||
:setX (fn setX [x] (set player.x x))
|
||||
:getY (fn getY [] player.y)
|
||||
:setY (fn setY [y] (set player.y y))
|
||||
:getD (fn getD [] player.d)
|
||||
:setD (fn setD [d] (set player.d d))
|
||||
:getX (fn getX [] player.x)
|
||||
:getDirX (fn getDirX [] player.dx)
|
||||
:setDirX (fn setDirX [x] (set player.dx x))
|
||||
:getDirY (fn getDirY [] player.dy)
|
||||
:setDirY (fn setDirY [y] (set player.dy y))
|
||||
:getO (fn getO [] player.o)
|
||||
:setO (fn setO [x] (set player.o x))
|
||||
:getDis (fn getDis [] player.d)
|
||||
:setDis (fn setDis [x] (set player.d x))
|
||||
:modDis (fn modDis [x] (set player.d (+ player.d x)))
|
||||
:modO (fn modO [x]
|
||||
(if (< (+ player.o x) 0)
|
||||
(set player.o 0)
|
||||
(set player.o (+ player.o x))))
|
||||
:getP (fn getP [] player.p)
|
||||
:setP (fn setP [x] (set player.p x))
|
||||
:modP (fn modP [x]
|
||||
(if (< (+ player.p x) 0)
|
||||
(set player.p 0)
|
||||
(set player.p (+ player.p x))))
|
||||
:getMap (fn getMap [] map)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue