const Computer = require("../IntComp/Computer"); const InputModes = require("../IntComp/InputModes"); const { DeepClone } = require("../IntComp/common"); const demos = [ [3, 15, 3, 16, 1002, 16, 10, 16, 1, 16, 15, 15, 4, 15, 99, 0, 0], [3, 23, 3, 24, 1002, 24, 10, 24, 1002, 23, -1, 23, 101, 5, 23, 23, 1, 24, 23, 23, 4, 23, 99, 0, 0], [3, 31, 3, 32, 1002, 32, 10, 32, 1001, 31, -2, 31, 1007, 31, 0, 33, 1002, 33, 7, 33, 1, 33, 31, 31, 1, 32, 31, 31, 4, 31, 99, 0, 0, 0], ]; const input = demos[2]; const inputMap = [InputModes.INPUT_FROM_RUNTIME_STACK, InputModes.INPUT_FROM_RUNTIME_STACK]; const computerArray = [ new Computer(input, { inputModeMap: DeepClone(inputMap), }), new Computer(input, { inputModeMap: DeepClone(inputMap), }), new Computer(input, { inputModeMap: DeepClone(inputMap), }), new Computer(input, { inputModeMap: DeepClone(inputMap), }), new Computer(input, { inputModeMap: DeepClone(inputMap), outputToConsole: true, }), ]; console.log("Running computer A"); computerArray[0].RunWithInput([1, 0]); let arrayOutput = computerArray[0].FetchOutputValue(); console.log("Running computer B"); computerArray[1].RunWithInput([0, arrayOutput]); arrayOutput = computerArray[1].FetchOutputValue(); console.log("Running computer C"); computerArray[2].RunWithInput([4, arrayOutput]); arrayOutput = computerArray[2].FetchOutputValue(); console.log("Running computer D"); computerArray[3].RunWithInput([3, arrayOutput]); arrayOutput = computerArray[3].FetchOutputValue(); console.log("Running computer E"); computerArray[4].RunWithInput([2, arrayOutput]);