aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/macroknight/game.hy26
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))