summaryrefslogtreecommitdiffstats
path: root/19/py/d21.py
blob: b4ad1eb59e09e4f7dbc3fa2fa065efe8f01e4583 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import intcode

f = open("../input/21", "r").readlines()

c = intcode.Computer([int(x) for x in f[0].split(",")], ascii=True)
output = []

def ascii_draw(a):
    s = ""
    for c in a:
        if c == 10:
            s += "\n"
        elif c < 128:
            s += chr(c)
        else:
            print("[INVALID ASCII]", c)
    return s

jumpscript = open("21.js", "r").readlines()
for line in jumpscript:
    if line[0] != "#":
        c.queue_ascii(line.strip().upper())
        print(line.strip().upper())

while not c.SIG_HALT:
    c.step()
    if c.SIG_OUTPUT:
        output.append(c.output)
        c.output = None
print(output)
print(ascii_draw(output))