-(import (chicken random)
- (chicken time)
- (chicken time posix)
- (chicken pathname)
- (chicken io)
- (chicken string)
- (chicken format)
- srfi-1)
-
(define rand-double pseudo-random-real)
(define (rand-weighted weights)
(if last-watered
(let* ((now (current-seconds))
(1day (* 24 3600))
- (remaining-pc (quotient (* 100 (- 1day (- now last-watered))) 1day))
+ (remaining-pc (quotient (* 100 (max 0 (- 1day (- now last-watered)))) 1day))
(filled (quotient remaining-pc 4))
(unfilled (- 25 filled)))
(print "["
;;; Data
(define stage-transition-times
- '(10 20 30 40 50))
- ;; (list (* 3600 24)
- ;; (* 3600 24 3)
- ;; (* 3600 24 10)
- ;; (* 3600 24 20)
- ;; (* 3600 24 30)))
+ ;; '(10 20 30 40 50)) ; for debugging
+ (list (* 3600 24)
+ (* 3600 24 3)
+ (* 3600 24 10)
+ (* 3600 24 20)
+ (* 3600 24 30)))
(define stages
'(seed seedling young mature flowering seed-bearing))