From f08e14fd51e2b1f5920ac6816774c5e72cbee5c0 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 14 Apr 2020 17:02:17 -0400 Subject: Day 4 progress. --- lisparuga/game.scm | 184 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 115 insertions(+), 69 deletions(-) (limited to 'lisparuga/game.scm') diff --git a/lisparuga/game.scm b/lisparuga/game.scm index 9e79898..f5b3082 100644 --- a/lisparuga/game.scm +++ b/lisparuga/game.scm @@ -23,6 +23,7 @@ (define-module (lisparuga game) #:use-module (chickadee) + #:use-module (chickadee math) #:use-module (chickadee math rect) #:use-module (chickadee math vector) #:use-module (chickadee render color) @@ -62,7 +63,16 @@ ;; scrolling background (define-class () (player-control? #:accessor player-control? #:init-value #f) - (complete? #:accessor complete? #:init-value #f)) + (complete? #:accessor complete? #:init-value #f) + (skip-tutorial? #:accessor skip-tutorial? #:init-value #f)) + +(define-method (reset (game )) + (set! (player-control? game) #f) + (set! (complete? game) #f) + (reset (& game player)) + (for-each detach (children (& game enemies))) + (let ((battle-report (& game battle-report))) + (and battle-report (detach battle-report)))) (define-method (initialize (game ) initargs) (next-method) @@ -81,6 +91,7 @@ #:rank 2 #:capacity 500 #:texture-atlas player-bullet-atlas)) + (player (make-player player-bullets)) (enemy-bullets (make #:name 'enemy-bullets #:rank 5 @@ -98,11 +109,13 @@ (ui (make #:name 'ui #:rank 999))) + (set! (rank player) 1) (attach-to game (make #:name 'clouds #:rank 0 #:texture clouds) + player player-bullets (make #:name 'enemies @@ -128,26 +141,11 @@ #:align 'right) (make