From de833c9d524d2e47b3812612995290795d2e7b84 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 16 Oct 2021 16:22:08 -0400 Subject: Allow player to shoot and add flowers to harvest pollen from. --- bonnie-bee/flower.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 bonnie-bee/flower.scm (limited to 'bonnie-bee/flower.scm') diff --git a/bonnie-bee/flower.scm b/bonnie-bee/flower.scm new file mode 100644 index 0000000..cafa4f8 --- /dev/null +++ b/bonnie-bee/flower.scm @@ -0,0 +1,37 @@ +(define-module (bonnie-bee flower) + #:use-module (bonnie-bee actor) + #:use-module (bonnie-bee assets) + #:use-module (bonnie-bee bullet) + #:use-module (chickadee math) + #:use-module (chickadee math vector) + #:use-module (chickadee scripting) + #:use-module (chickadee utils) + #:use-module (oop goops) + #:use-module (starling node) + #:use-module (starling node-2d) + #:export ()) + +(define-class ( )) + +(define-method (on-boot (flower )) + (attach-to flower + (make + #:texture flower-image + #:origin (vec2 32.0 32.0)))) + +(define-method (on-collide (flower ) (bullet )) + (if (eq? (type bullet) player-primary-bullet) + (begin + (damage flower 1) + (kill-bullet bullet) + #t) + #f)) + +(define-method (on-death (flower ) bullets) + (let ((p (position flower))) + (for-range ((i 16)) + (let ((theta (- (* (random:uniform) (/ pi -2.0)) (/ pi 4.0))) + (speed (+ (* (random:uniform) 1.0) 1.0))) + (add-bullet bullets pollen-pickup p + (vec2 (* (cos theta) speed) + (* (sin theta) speed))))))) -- cgit v1.2.3