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)