From b03bd19a4e5e1ee058e2fbcba8b72dca247137e3 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Mon, 22 Oct 2018 08:54:50 -0400 Subject: Initial slimed surface counting --- game.fnl | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'game.fnl') diff --git a/game.fnl b/game.fnl index 720642e..d97fdfe 100644 --- a/game.fnl +++ b/game.fnl @@ -168,7 +168,10 @@ (. player :frame) (. player :orientation) x - y))) + y)) + (love.graphics.print (string.format "%d/%d" (. world :surfaces-slimed) + (. world :surfaces-total)) + 0 0)) (fn update [dt set-mode] (local gravity 128) @@ -227,20 +230,28 @@ (let [tile (. collision :other)] ;; Touching top. (when (> 0 (. collision :normal :y)) - (tset tile :slimed :top true) - (tset player :grounded true)) + (tset player :grounded true) + (when (not (. tile :slimed :top)) + (tset world :surfaces-slimed (+ 1 (. world :surfaces-slimed))) + (tset tile :slimed :top true))) ;; Touching bottom. (when (< 0 (. collision :normal :y)) - (tset tile :slimed :bottom true)) - + (when (not (. tile :slimed :bottom)) + (tset world :surfaces-slimed (+ 1 (. world :surfaces-slimed))) + (tset tile :slimed :bottom true))) + ;; Touching left. (when (> 0 (. collision :normal :x)) - (tset tile :slimed :left true)) + (when (not (. tile :slimed :left)) + (tset world :surfaces-slimed (+ 1 (. world :surfaces-slimed))) + (tset tile :slimed :left true))) ;; Touching right. (when (< 0 (. collision :normal :x)) - (tset tile :slimed :right true))))))) + (when (not (. tile :slimed :right)) + (tset world :surfaces-slimed (+ 1 (. world :surfaces-slimed))) + (tset tile :slimed :right true)))))))) (fn keypressed [key set-mode] @@ -256,7 +267,7 @@ (fn keyreleased [key set-mode] (when (= key "right") (tset player :action :right false)) - + (when (= key "left") (tset player :action :left false)) -- cgit v1.3