diff --git a/pacman-project/adt/game.rkt b/pacman-project/adt/game.rkt index dba9ca6..590a156 100644 --- a/pacman-project/adt/game.rkt +++ b/pacman-project/adt/game.rkt @@ -34,8 +34,12 @@ ((draw 'animate-pacman!) delta-time)) ;; start! :: -> / - ;; Starts the game by registering all callbacks. + ;; Starts the game by registering all callbacks and change listeners. (define (start!) + ;; Wire level change events to draw dirty flags. + ((level 'set-on-coins-changed!) (draw 'mark-coins-dirty!)) + ((level 'set-on-maze-changed!) (draw 'mark-maze-dirty!)) + ;; Register graphics callbacks. ((draw 'set-game-loop!) game-loop) ((draw 'set-key-callback!) key-handler) ((draw 'start-drawing!) dispatch-game))