From 06cb539f69f0b501afaa9ef5b6d89863e1c9d111 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Sat, 17 Dec 2022 17:25:46 +0100 Subject: Added some utilities --- day9/__init__.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'day9') diff --git a/day9/__init__.py b/day9/__init__.py index a2d6d82..ba29708 100644 --- a/day9/__init__.py +++ b/day9/__init__.py @@ -36,26 +36,18 @@ class Assignment(BaseAssignment, ABC): if abs(delta.x) < 2 and abs(delta.y) < 2: return tail elif abs(delta.x) > 1 and delta.y == 0: - return tail + Coordinate( - delta.x - delta.polarity_x, - 0, - ) + return tail + delta - delta.polarity elif abs(delta.x) > 1 and abs(delta.y) == 1: - return tail + Coordinate(delta.x - delta.polarity_x, delta.y) + return tail + Coordinate(delta.x - delta.polarity.x, delta.y) elif abs(delta.y) > 1 and delta.x == 0: - return tail + Coordinate( - 0, - delta.y - delta.polarity_y, - ) + return tail + delta - delta.polarity elif abs(delta.y) > 1 and abs(delta.x) == 1: return tail + Coordinate( delta.x, - delta.y - delta.polarity_y, + delta.y - delta.polarity.y, ) elif abs(delta.x) > 1 and abs(delta.y) > 1: - return tail + Coordinate( - delta.x - delta.polarity_x, delta.y - delta.polarity_y - ) + return tail + delta - delta.polarity def tail_positions(self, input: Iterator[str], length: int) -> Iterator[Coordinate]: knots = [Coordinate(0, 0) for _ in range(length)] -- cgit v1.2.3