summaryrefslogtreecommitdiff
path: root/world.fnl
diff options
context:
space:
mode:
authorJakob L. Kreuze <jakob@memeware.net>2018-10-25 10:43:46 -0400
committerJakob L. Kreuze <jakob@memeware.net>2018-10-25 10:43:46 -0400
commite5053056ad7a223466c8e56df7b63279458d2867 (patch)
tree33a5231c1d64b114136596aa75f16e8058b1927c /world.fnl
parentc60fe418289e4eb3f058fd43bcfdd2ad17c5eac2 (diff)
Majority of gameplay is implemented at this point
Diffstat (limited to 'world.fnl')
-rw-r--r--world.fnl16
1 files changed, 7 insertions, 9 deletions
diff --git a/world.fnl b/world.fnl
index a43eb95..152fa62 100644
--- a/world.fnl
+++ b/world.fnl
@@ -91,14 +91,10 @@
(draw-tile tile screen-x screen-y))))))))
(fn draw-hud [world screen-width screen-height]
- (let [cur-health (. world :player :cur-health)
- max-health (. world :player :max-health)
- font-height (: (love.graphics.getFont) :getHeight)
+ (let [font-height (: (love.graphics.getFont) :getHeight)
surfaces-slimed (. world :surfaces-slimed)
surfaces-total (. world :surfaces-total)
- health-msg (string.format "h: %d/%d" cur-health max-health)
- slime-msg (string.format "s: %d/%d" surfaces-slimed surfaces-total)]
- (love.graphics.print health-msg 0 (- screen-height (* 2 font-height)))
+ slime-msg (string.format "%d/%d" surfaces-slimed surfaces-total)]
(love.graphics.print slime-msg 0 (- screen-height font-height))))
(fn draw-object [object camera-x camera-y]
@@ -313,7 +309,8 @@
;; Touching bottom of surface.
(when (< 0 y-normal)
- (slime-tile world other :bottom))
+ (slime-tile world other :bottom)
+ (tset player :y-vel 0))
;; Touching left of surface.
(when (> 0 x-normal)
@@ -340,13 +337,14 @@
res (load-tiles (love.image.newImageData tiles-path))
res (lume.extend res {:player player})
res (lume.extend res {:slimeballs []})
- res (lume.extend res {:surfaces-slimed 0 :meta (load-meta meta-path)})
+ res (lume.extend res {:surfaces-slimed 0})
+ res (lume.extend res (load-meta meta-path))
res (lume.extend res {:surfaces-total (count-surfaces res)})
res (lume.extend res {:collision-map (new-collision-map res player)})
- res (lume.extend res {:position-player-at position-player-at})
res (lume.extend res {:add-slimeball add-slimeball})
res (lume.extend res {:draw draw-world})
res (lume.extend res {:update update-world})]
+ (position-player-at res (. res :player-spawn-x) (. res :player-spawn-y))
res))
{:tile-sheet tile-sheet