From feed38794b0209d4defc3b7f110043b5ec86e92f Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 4 Jun 2023 10:55:00 -0400 Subject: An attempt to make things somewhat playable. --- super-bloom/flower.scm | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'super-bloom/flower.scm') diff --git a/super-bloom/flower.scm b/super-bloom/flower.scm index 428b158..78e8f03 100644 --- a/super-bloom/flower.scm +++ b/super-bloom/flower.scm @@ -75,6 +75,11 @@ #:name 'progress-meter #:position (vec2 -32.0 -28.0) #:width 64.0 + #:height 8.0) + (make + #:name 'idle-meter + #:position (vec2 -32.0 -36.0) + #:width 64.0 #:height 8.0)) (update-progress-meter flower)) @@ -95,6 +100,28 @@ (default-width (& flower progress-meter)) (default-height (& flower progress-meter)))) +(define-method (update-idle-meter (flower )) + (define w 64.0) + (define t (- 1.0 (/ (growth-accumulator flower) (growth-interval flower)))) + (define meter (& flower idle-meter)) + (if (>= t 0.999) + (hide meter) + (begin + (show meter) + (set! (painter meter) + (superimpose + (with-style ((stroke-color (make-color 0.0 0.0 0.0 0.5)) + (stroke-width 2.0)) + (stroke + (line (vec2 0.0 0.0) (vec2 w 0.0)))) + (with-style ((stroke-color db32-mandy) + (stroke-width 2.0)) + (stroke + (line (vec2 0.0 0.0) (vec2 (* w t) 0.0)))))) + (resize meter + (default-width meter) + (default-height meter))))) + (define-method (update-animation (flower )) (define t (/ (growth-progress flower) (growth-goal flower))) @@ -128,6 +155,7 @@ (audio-play (artifact watered-sound)))) (define-method (update (flower ) dt) + (update-idle-meter flower) (unless (thirsty? flower) (let ((interval (growth-interval flower)) (accum (+ (growth-accumulator flower) dt))) @@ -136,8 +164,7 @@ (set! (growth-progress flower) (min (+ (growth-progress flower) 1) (growth-goal flower))) - (set! (growth-accumulator flower) - (if (thirsty? flower) 0 (- accum interval))) + (set! (growth-accumulator flower) 0.0) (decrement-water flower 1) (update-animation flower) (update-progress-meter flower)))) -- cgit v1.2.3