Ejemplo n.º 1
0
 public void Run()
 {
     computer.LoadProgram(FileUtils.LoadDataFor(13))
     .SetInput(() => joystickInput)
     .SetOutput(GetX)
     .Run();
 }
Ejemplo n.º 2
0
        public Day9()
        {
            var computer = new IntComputer();

            computer.LoadProgram(FileUtils.LoadDataFor(9)).SetInput(() => 1).SetOutput((o) => _answer1 = o).Run();
            computer.LoadProgram(FileUtils.LoadDataFor(9)).SetInput(() => 2).SetOutput((o) => _answer2 = o).Run();
        }
Ejemplo n.º 3
0
        public Day2()
        {
            var computer = new IntComputer();

            _answer1 = computer.LoadProgram(FileUtils.LoadDataFor(2)).Using(12, 2).Run().MemoryZeroAddress;
            _answer2 = FindVerbAndNounForOutput(computer, 19690720);
        }
Ejemplo n.º 4
0
        public PaintingRobot(long startingPointColor = 0)
        {
            panelsGridPaintStatus.Add(currentPosition, startingPointColor);

            computer.LoadProgram(FileUtils.LoadDataFor(11))
            .SetInput(ColorInput)
            .SetOutput(Paint)
            .Run();
        }
Ejemplo n.º 5
0
        public Scaffold()
        {
            computer.LoadProgram(FileUtils.LoadDataFor(17))
            .SetOutput(CameraOutput)
            .Run();

            FindIntersections();

            //Print(true);

            RobotPosition currentPosition = screen.Where(s => !(s.Value == '#' || s.Value == '.')).Select(s => new RobotPosition(s.Value, s.Key)).FirstOrDefault();
            List <Point>  scaffoldPath    = screen.Where(s => s.Value == 35).Select(s => s.Key).ToList();

            scaffoldPath.AddRange(intersections);

            FindScaffoldPath(scaffoldPath, currentPosition);

            Console.WriteLine(GetDust());
        }
Ejemplo n.º 6
0
        private int FindVerbAndNounForOutput(IntComputer computer, int output)
        {
            for (var noun = 0; noun < 100; noun++)
            {
                for (var verb = 0; verb < 100; verb++)
                {
                    if (computer
                        .LoadProgram(FileUtils.LoadDataFor(2))
                        .Using(noun, verb)
                        .Run()
                        .MemoryZeroAddress == output)
                    {
                        return((100 * noun) + verb);
                    }
                }
            }

            return(0);
        }