def main(): text_input = get_raw_input() int_code = IntCode(text_input) int_code._int_code[0] = 2 tiles = dict() score = 0 paddle = Paddle() ball = Ball() while not int_code.finished: for co in tiles.keys(): if tiles[co] == Tiles.PADDLE: paddle.x = co[0] elif tiles[co] == Tiles.BALL: ball.set_x_pos(co[0]) ball.update_direction() if ball.direction == Directions.LEFT and paddle.x > ball.x: int_code.add_input(Joystick.LEFT) elif ball.direction == Directions.RIGHT and ball.x > paddle.x: int_code.add_input(Joystick.RIGHT) elif paddle.x > ball.x: int_code.add_input(Joystick.LEFT) elif paddle.x < ball.x: int_code.add_input(Joystick.RIGHT) else: int_code.add_input(Joystick.NEUTRAL) int_code.execute_till_halt() output_instructions = list(int_code.output_buffer.queue) i = 0 while i + 2 < len(output_instructions): x, y, id_ = output_instructions[i:i + 3] if x == -1 and y == 0: score = id_ else: tiles[(x, y)] = id_ i += 3 print_tiles(tiles) print('Score after all blocks are broken:', score)
def main(): text_input = get_raw_input() int_code = IntCode(text_input) int_code.execute_till_halt() output_instructions = list(int_code.output_buffer.queue) tiles = dict() i = 0 while i + 2 < len(output_instructions): tiles[(output_instructions[i], output_instructions[i + 1])] = output_instructions[i + 2] i += 3 count = 0 for tile in tiles.values(): if tile == 2: count += 1 print(count)