summaryrefslogtreecommitdiffstats
path: root/day17/__init__.py
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2022-12-17 17:17:54 +0100
committerGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2022-12-17 17:17:54 +0100
commit5fd442c3bba6b4c63facb6bd89ecc3a9736e1c8d (patch)
tree7bfa9fa0971d7311272ea6f234c223093e4e9615 /day17/__init__.py
parent2d1263453d26cd2c6a64a3b6141ee0a12ddc0b11 (diff)
download2022-5fd442c3bba6b4c63facb6bd89ecc3a9736e1c8d.tar.gz
2022-5fd442c3bba6b4c63facb6bd89ecc3a9736e1c8d.tar.bz2
2022-5fd442c3bba6b4c63facb6bd89ecc3a9736e1c8d.zip
Added some utilities
Diffstat (limited to 'day17/__init__.py')
-rw-r--r--day17/__init__.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/day17/__init__.py b/day17/__init__.py
new file mode 100644
index 0000000..41b25dc
--- /dev/null
+++ b/day17/__init__.py
@@ -0,0 +1,42 @@
1# -*- coding: utf-8 -*-
2from abc import ABC
3from dataclasses import dataclass
4from typing import Iterator
5
6from aoc import BaseAssignment
7from aoc.datastructures import Coordinate
8from aoc.decorators import infinite_generator
9
10
11@dataclass
12class Block:
13 origin: Coordinate
14
15
16class Assignment(BaseAssignment[int, str], ABC):
17 @infinite_generator
18 def infinite_moves(self, item: str) -> str:
19 return item
20
21 def infinite_blocks(self):
22 pass
23
24
25class AssignmentOne(Assignment):
26 example_result = 1
27
28 def run(self, input: Iterator[str]):
29 i = 0
30
31 moves = self.infinite_moves(input)
32
33 for move in self.infinite_moves(next(input)):
34 i += 1
35 print(move)
36
37 if i == 100:
38 break
39
40
41class AssignmentTwo(Assignment):
42 pass