class FlyingDrone(): def __init__(self, program): self.current_position = Position(0, 0) self.computer = IntcodeComputer(program, list(Position(0, 0)), "SpaceDroneNavigation") def navigate_to_pos(self, position): self.computer.add_prog_input(list(position)) self.computer.run_program() output = self.computer.get_output() self.current_position = position return output[0]
def to_ascii_instruction(instruction): ascii_instr = [] for char in instruction: ascii_instr.append(ord(char)) return ascii_instr def print_output(intcode_instruction): str = '' for digit in intcode_instruction: str = str + chr(digit) print(str) adventure = IntcodeComputer(input_prog, [], "Cryostasis") adventure.run_program() output = adventure.get_output() print_output(output) while not adventure.has_stopped(): get_input = input(">") input_instruction = to_ascii_instruction(get_input + "\n") adventure.add_prog_input(input_instruction) adventure.run_program() output = adventure.get_output() print_output(output) print("Game Over.")