summaryrefslogtreecommitdiff
path: root/2022/day10/asd.py
diff options
context:
space:
mode:
authornekineki <nekineki@nekineki.net>2022-12-11 14:47:27 +0100
committernekineki <nekineki@nekineki.net>2022-12-11 14:50:32 +0100
commitfe75c10e350743a1c078f065d69556fecf825ca5 (patch)
tree956556a564c9329346dc9d8b1535dc5e365f3d55 /2022/day10/asd.py
parenta74d2dc54aef546664bcc8c81eb8e01a93e94391 (diff)
move files around, update paths
Diffstat (limited to '2022/day10/asd.py')
-rwxr-xr-x2022/day10/asd.py71
1 files changed, 0 insertions, 71 deletions
diff --git a/2022/day10/asd.py b/2022/day10/asd.py
deleted file mode 100755
index 7281026..0000000
--- a/2022/day10/asd.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env python3
-
-# import numpy as np
-from functools import reduce
-from re import findall
-from copy import deepcopy
-import sys
-
-# filename = "ref.txt"
-filename = "pzl.txt"
-data = open(filename).read()
-lines = [line for line in data.rstrip('\n').split('\n')]
-
-res1 = 0
-x = 1
-cycles = 1
-for line in lines:
- opcodes = line.split(' ')
- if opcodes[0] == 'addx':
- if cycles == 19 or (cycles+20) % 40 == 39:
- a = (cycles+1) * x
- res1 += a
- elif cycles == 20 or (cycles+20) % 40 == 0:
- a = cycles * x
- res1 += a
- x += int(opcodes[1])
- cycles += 2
- elif opcodes[0] == 'noop':
- if cycles == 20 or (cycles+20) % 40 == 0:
- a = cycles * x
- res1 += a
- cycles += 1
-
-
-res2 = 'read it'
-crt = [0 for _ in range(40*6)]
-x = 1
-cycles = 1
-def print_crt(crt):
- for i,val in enumerate(crt):
- print('.' if val == 0 else '#', end='')
- if (i+1) % 40 == 0:
- print()
- print()
-
-def sprite(crt, cycles, x):
- s = [1 if abs(x-i) % 40 in [39, 0, 1] else 0 for i in range(40*6)]
- c = [1 if abs(cycles-i-1) % (40*6) == 0 else 0 for i in range(40*6)]
-
- m = list(map(lambda x: x[0]*x[1], zip(c,s)))
- crt = list(map(lambda x: x[0]+x[1], zip(crt,m)))
- return crt
-
-for line in lines:
- opcodes = line.split(' ')
- if opcodes[0] == 'addx':
- crt = sprite(crt, cycles+0, x)
- crt = sprite(crt, cycles+1, x)
- x += int(opcodes[1])
- cycles += 2
- elif opcodes[0] == 'noop':
- crt = sprite(crt, cycles+0, x)
- a = cycles * x
- cycles += 1
- # print(cycles, x)
-
-print_crt(crt)
-
-print('res1:', res1)
-print('res2:', res2)
-