diff --git a/day10/main.py b/day10/main.py index 62ac673..ea7a7b8 100644 --- a/day10/main.py +++ b/day10/main.py @@ -35,3 +35,32 @@ for instruction in instructions: # print("Cycle " + str(current_cycle) + ": " + str(register_x)) print("Part 1: " + str(sum(signal_strengths))) + +# Part 2 + +register_x = 1 +current_cycle = 1 +cycle_milestones = [40, 80, 120, 160, 200, 240] + +for instruction in instructions: + for i in range(instruction[2]): + current_pixel = (current_cycle - 1) % 40 + + if instruction[0] == "noop": + if current_pixel in range(register_x-1, register_x+2): + print("#", end="") + else: + print(".", end="") + current_cycle += 1 + + elif instruction[0] == "addx": + if current_pixel in range(register_x-1, register_x+2): + print("#", end="") + else: + print(".", end="") + current_cycle += 1 + if i == instruction[2] - 1: + register_x += instruction[1] + + if current_cycle-1 in cycle_milestones: + print() diff --git a/input.txt b/input.txt new file mode 100644 index 0000000..94cd0a8 --- /dev/null +++ b/input.txt @@ -0,0 +1,146 @@ +addx 15 +addx -11 +addx 6 +addx -3 +addx 5 +addx -1 +addx -8 +addx 13 +addx 4 +noop +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx -35 +addx 1 +addx 24 +addx -19 +addx 1 +addx 16 +addx -11 +noop +noop +addx 21 +addx -15 +noop +noop +addx -3 +addx 9 +addx 1 +addx -3 +addx 8 +addx 1 +addx 5 +noop +noop +noop +noop +noop +addx -36 +noop +addx 1 +addx 7 +noop +noop +noop +addx 2 +addx 6 +noop +noop +noop +noop +noop +addx 1 +noop +noop +addx 7 +addx 1 +noop +addx -13 +addx 13 +addx 7 +noop +addx 1 +addx -33 +noop +noop +noop +addx 2 +noop +noop +noop +addx 8 +noop +addx -1 +addx 2 +addx 1 +noop +addx 17 +addx -9 +addx 1 +addx 1 +addx -3 +addx 11 +noop +noop +addx 1 +noop +addx 1 +noop +noop +addx -13 +addx -19 +addx 1 +addx 3 +addx 26 +addx -30 +addx 12 +addx -1 +addx 3 +addx 1 +noop +noop +noop +addx -9 +addx 18 +addx 1 +addx 2 +noop +noop +addx 9 +noop +noop +noop +addx -1 +addx 2 +addx -37 +addx 1 +addx 3 +noop +addx 15 +addx -21 +addx 22 +addx -6 +addx 1 +noop +addx 2 +addx 1 +noop +addx -10 +noop +noop +addx 20 +addx 1 +addx 2 +addx 2 +addx -6 +addx -11 +noop +noop +noop \ No newline at end of file