Example #1
0
        private static long?RunDroid(long[] code, string[] instructions)
        {
            var input = new Queue <long>();

            foreach (var line in instructions)
            {
                foreach (var ch in line)
                {
                    input.Enqueue(ch);
                }

                input.Enqueue('\n');
            }

            long?result = default;

            IntcodeMachine.RunProgram(
                program: code,
                ch =>
            {
                if (ch < 255)
                {
                    Console.Write((char)ch);
                }
                else
                {
                    result = ch;
                }
            },
                input
                );

            return(result);
        }