Пример #1
0
def main():
    computer = Computer(inputs)
    computer.put(1)
    print(computer.eval())

    computer = Computer(inputs)
    computer.put(2)
    print(computer.eval())
Пример #2
0
def paint(starting):
    computer = Computer(inputs)
    pos = 0, 0
    panels = {pos: starting}
    facing = 0  # up, right, down, left
    while True:
        if pos in panels:
            color = panels[pos]
        else:
            color = 0
        computer.put(color)
        try:
            color = computer.eval()
        except StopIteration:
            break
        panels[pos] = color
        turn = 1 if computer.eval() == 1 else -1
        facing += turn
        facing %= 4
        pos = move(pos, facing)
    return panels
Пример #3
0
#!/usr/bin/env python3
from queue import Empty

from intcode import Computer

with open("inputs/13") as f:
    inputs = list(map(int, f.readline().strip().split(",")))

# Part 1
computer = Computer(inputs)
blocks = 0
while True:
    try:
        computer.eval()  # ignore
    except StopIteration:
        break
    computer.eval()  # ignore
    blocks += 1 if computer.eval() == 2 else 0
print(blocks)

# Part 2
inputs[0] = 2
computer = Computer(inputs)
paddle_x = -1
ball_x = -1
score = 0


def consume(cabinet):
    global score, paddle_x, ball_x
    while True:
Пример #4
0
#!/usr/bin/env python3

from intcode import Computer

with open("inputs/5") as f:
    inputs = list(map(int, f.readline().strip().split(",")))


computer = Computer(inputs)
computer.put(1)
out = computer.eval()
while out == 0:
    out = computer.eval()
print(out)

computer = Computer(inputs)
computer.put(5)
print(computer.eval())