Exemplo n.º 1
0
            public BitmapModification(Bitmap original, Instruction instruction)
            {
                this.Original    = original;
                this.Instruction = instruction;
                var simulator = new ScreenSimulator(original.Width, original.Height);

                this.Resulting = simulator.Simulate(instruction, original);
            }
Exemplo n.º 2
0
        public string Solve(string[] input)
        {
            var parser       = new InstructionParser();
            var instructions = input.Select(parser.Parse);
            var simulator    = new ScreenSimulator(50, 6);
            var endState     = instructions.Aggregate(simulator.InitialState(),
                                                      (state, instruction) => simulator.Simulate(instruction, state));

            return(endState.ToString());
        }
        public string Solve(string[] input)
        {
            var parser       = new InstructionParser();
            var instructions = input.Select(parser.Parse);
            var simulator    = new ScreenSimulator(50, 6);
            var endState     = instructions.Aggregate(simulator.InitialState(),
                                                      (state, instruction) => simulator.Simulate(instruction, state));
            int pixelsLit = endState.Pixels.Cast <bool>().Count(pixel => pixel);

            return(pixelsLit.ToString());
        }