diff options
author | Gene Pasquet <dev@etenil.net> | 2025-05-18 08:38:25 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2025-05-18 08:38:25 +0100 |
commit | 1cf28e193729ee64a17e6464ce7310c67f5eae34 (patch) | |
tree | 906ff27f5e533397f4f760a245d0606232a87b1f /src/macroknight/utils.hy | |
parent | be71ead1e21d55049a18747f2d0d2159b11868f3 (diff) |
Progress on animations and enemies
Diffstat (limited to 'src/macroknight/utils.hy')
-rw-r--r-- | src/macroknight/utils.hy | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/macroknight/utils.hy b/src/macroknight/utils.hy index a857d02..dde8d2e 100644 --- a/src/macroknight/utils.hy +++ b/src/macroknight/utils.hy @@ -1,3 +1,31 @@ +(import enum [Enum]) + +(defclass Direction [Enum] + (setv UP "UP") + (setv DOWN "DOWN") + (setv LEFT "LEFT") + (setv RIGHT "RIGHT") + + (defn [staticmethod] from-move [move] + #((.x-from-move Direction move) + (.y-from-move Direction move))) + + (defn [staticmethod] x-from-move [move] + (if (>= (get move 0) 0) + Direction.RIGHT + Direction.LEFT)) + + (defn [staticmethod] y-from-move [move] + (if (>= (get move 0) 0) + Direction.DOWN + Direction.UP)) + + (defn [staticmethod] x-between-points [point1 point2] + (let [delta-x (abs (- (get point1 0) (get point2 0)))] + (if (>= delta-x 0) + Direction.RIGHT + Direction.LEFT)))) + (defn neg [value] (* -1 value)) @@ -12,3 +40,7 @@ #((+ (get end-move 0) (get move 0)) (+ (get end-move 1) (get move 1))))) end-move)) + +(defn sub-points [point1 point2] + #((- (get point2 0) (get point1 0)) + (- (get point2 1) (get point2 1)))) |