From 1cf28e193729ee64a17e6464ce7310c67f5eae34 Mon Sep 17 00:00:00 2001 From: Gene Pasquet Date: Sun, 18 May 2025 08:38:25 +0100 Subject: Progress on animations and enemies --- src/macroknight/utils.hy | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/macroknight/utils.hy') 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)))) -- cgit v1.2.3