diff options
Diffstat (limited to 'src/macroknight/utils.hy')
| -rw-r--r-- | src/macroknight/utils.hy | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/macroknight/utils.hy b/src/macroknight/utils.hy deleted file mode 100644 index 05412e8..0000000 --- a/src/macroknight/utils.hy +++ /dev/null @@ -1,66 +0,0 @@ -;;; Copyright (C) 2025 Gene Pasquet -;;; -;;; This program is free software: you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published by -;;; the Free Software Foundation, either version 3 of the License, or -;;; (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -(import enum [Enum] - math [sqrt]) - -(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)) - -(defn invert [move] - #((neg (get move 0)) - (neg (get move 1)))) - -(defn merge-moves [moves] - (let [end-move #(0 0)] - (for [move moves] - (setv end-move - #((+ (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)))) - -(defn distance [point1 point2] - (sqrt (+ (** (- (get point1 0) (get point2 0)) 2) - (** (- (get point1 1) (get point2 1)) 2)))) |
