From 6a5e5d31374030774516ba189d70b68e0aa5be17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20N=C3=B6llemeyer?= Date: Sat, 17 Aug 2024 14:34:18 +0200 Subject: [PATCH] made Position more correct --- game/components.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/game/components.py b/game/components.py index f8f3fcb..a75b35b 100644 --- a/game/components.py +++ b/game/components.py @@ -22,22 +22,28 @@ class Position: match direction: case Position(x, y): return self.__class__(self.x + x, self.y + y) - x, y = direction - return self.__class__(self.x + x, self.y + y) + case (x, y): + return self.__class__(self.x + x, self.y + y) + raise NotImplementedError + def __sub__(self, direction: tuple[int, int] | Position) -> Self: match direction: case Position(x, y): return self.__class__(self.x - x, self.y - y) - x, y = direction - return self.__class__(self.x - x, self.y - y) + case (x, y): + return self.__class__(self.x - x, self.y - y) + raise NotImplementedError + def mod(self, other: tuple[int,int] | Position | int) -> Self: match other: case Position(x,y): return self.__class__(self.x//x, self.y//y) case int(x): return self.__class__(self.x//x, self.y//x) - x,y = other - return self.__class__(self.x//x, self.y//y) + case (x, y): + return self.__class__(self.x//x, self.y//y) + raise NotImplementedError + def length(self): return math.sqrt(self.x**2+self.y**2)