aboutsummaryrefslogtreecommitdiff
path: root/src/macroknight/game.hy
diff options
context:
space:
mode:
Diffstat (limited to 'src/macroknight/game.hy')
-rw-r--r--src/macroknight/game.hy16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/macroknight/game.hy b/src/macroknight/game.hy
index 53e6fac..160b46a 100644
--- a/src/macroknight/game.hy
+++ b/src/macroknight/game.hy
@@ -6,7 +6,8 @@
tiles [TileSet draw-tile]
utils [neg]
text [render-text]
- systems [apply-gravity apply-collisions])
+ systems [apply-gravity apply-collisions]
+ math [floor])
(pygame.init)
@@ -17,10 +18,17 @@
(setv clock (pygame.time.Clock))
(setv running True)
(setv tileset (TileSet "assets/monochrome-transparent.png" TILE_SCALING TILE_SIZE TILE_SIZE 1))
-(setv player (Player 1 (get tileset.tiles 28) TILE_SIZE 5 5))
(setv sprites-group [])
-(.append sprites-group player)
(setv level (load_pygame "assets/level-0.tmx"))
+(setv player-pos
+ (let [player-objects (lfor ent (get level.layers 1) :if (= ent.type "Player") ent)]
+ (if (any player-objects)
+ (let [player-object (get player-objects 0)]
+ #((int (floor (/ player-object.x TILE_SIZE)))
+ (int (floor (/ player-object.y TILE_SIZE)))))
+ #(5 5))))
+(setv player (Player 1 (get tileset.tiles 28) TILE_SIZE #* player-pos))
+(.append sprites-group player)
(setv macro-input-mode False)
(setv macro-commands [None None None])
@@ -75,7 +83,7 @@
pygame.K_a (draw-tile screen tileset 1060 x-pos 5)
None (draw-tile screen tileset 725 x-pos 5)))))
- ;; Else
+ ;; Not in macro mode
(do (for [inp ongoing_inputs]
(case inp
pygame.K_a (.move player #((neg player.SPEED) 0))