diff options
Diffstat (limited to 'src/macroknight/game.hy')
-rw-r--r-- | src/macroknight/game.hy | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/macroknight/game.hy b/src/macroknight/game.hy index 96bc390..d019a0f 100644 --- a/src/macroknight/game.hy +++ b/src/macroknight/game.hy @@ -1,5 +1,5 @@ (require hy) -(require hyrule) +(require hyrule *) (import pygame pytmx.util_pygame [load_pygame] pprint [pprint]) @@ -66,7 +66,7 @@ (defclass Player [pygame.sprite.Sprite] (setv fixed False) (setv SPEED 5) - (setv JUMP_IMPULSE 5) + (setv JUMP_IMPULSE 100) (defn __init__ [self tile initial-x initial-y] (.__init__ (super)) @@ -103,18 +103,20 @@ (.flush player) (for [event (pygame.event.get)] - (match event.type - pygame.QUIT (setv running False) - pygame.KEYDOWN (.append ongoing_inputs event.key) - pygame.KEYUP (.remove ongoing_inputs event.key))) + (case event.type + pygame.QUIT (setv running False) + pygame.KEYDOWN (case event.key + pygame.K_ESCAPE (setv running False) + pygame.K_w (.move player #(0 (* -1 player.JUMP_IMPULSE))) + else (.append ongoing_inputs event.key)) + pygame.KEYUP (when (in event.key ongoing_inputs) + (.remove ongoing_inputs event.key)))) (for [inp ongoing_inputs] - (match inp - pygame.K_ESCAPE (setv running False) - pygame.K_w (.move player #(0 (* -1 player.JUMP_IMPULSE))) - pygame.K_a (.move player #((* -1 player.SPEED) 0)) - pygame.K_s (.move player #(0 1)) - pygame.K_d (.move player #(player.SPEED 0)))) + (case inp + pygame.K_a (.move player #((* -1 player.SPEED) 0)) + pygame.K_s (.move player #(0 1)) + pygame.K_d (.move player #(player.SPEED 0)))) (for [sprite sprites-group] (apply-collisions sprite sprites-group)) |