diff options
Diffstat (limited to 'Vec.py')
| -rw-r--r-- | Vec.py | 24 |
1 files changed, 14 insertions, 10 deletions
@@ -1,23 +1,27 @@ +from __future__ import annotations + class Vec2: - def __init__(self, x, y): + def __init__(self, x: int, y: int) -> None: self.x = x self.y = y - def __add__(self, other): + def __add__(self, other: 'Vec2') -> 'Vec2': return Vec2(self.x + other.x, self.y + other.y) - def __eq__(self, other): - return (other != None) and (self.x == other.x) and (self.y == other.y) + def __eq__(self, other: object) -> bool: + match other: + case Vec2(): return self.x == other.x and self.y == other.y + case _: return False - def neg(self): + def neg(self) -> 'Vec2': return Vec2(-self.x, -self.y) - def toString(self): + def toString(self) -> str: return f"({self.x}, {self.y})" -right = Vec2(1, 0) -up = Vec2(0, -1) -left = Vec2(-1, 0) -down = Vec2(0, 1) +right: Vec2 = Vec2(1, 0) +up: Vec2 = Vec2(0, -1) +left: Vec2 = Vec2(-1, 0) +down: Vec2 = Vec2(0, 1) |
