from __future__ import annotations class Vec2: def __init__(self, x: int, y: int) -> None: self.x = x self.y = y def __add__(self, other: 'Vec2') -> 'Vec2': return Vec2(self.x + other.x, 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) -> 'Vec2': return Vec2(-self.x, -self.y) def toString(self) -> str: return f"({self.x}, {self.y})" right: Vec2 = Vec2(1, 0) up: Vec2 = Vec2(0, -1) left: Vec2 = Vec2(-1, 0) down: Vec2 = Vec2(0, 1)