Exemple #1
0
        private static int[,] TurnOffLights(SantaCommand input, int[,] lights)
        {
            for (var x = input.InitialX; x <= input.FinalX; x++)
            {
                for (var y = input.InitialY; y <= input.FinalY; y++)
                {
                    lights[x, y] = 0;
                }
            }

            return(lights);
        }
Exemple #2
0
        private static int[,] ToggleLights(SantaCommand input, int[,] lights)
        {
            for (var x = input.InitialX; x <= input.FinalX; x++)
            {
                for (var y = input.InitialY; y <= input.FinalY; y++)
                {
                    if (lights[x, y] == 0)
                    {
                        lights[x, y] = 1;
                    }
                    else
                    {
                        lights[x, y] = 0;
                    }
                }
            }

            return(lights);
        }
Exemple #3
0
        private static SantaCommand ParseDirections(string input)
        {
            var values = input.Split(' ').ToList();

            if (values[0].Equals("turn"))
            {
                values[0] = values[0] + values[1];
                values.Remove(values[1]);
            }

            var explicitDirections = new SantaCommand
            {
                Action   = values[0],
                InitialX = Convert.ToInt32(values[1].Split(',')[0]),
                InitialY = Convert.ToInt32(values[1].Split(',')[1]),
                FinalX   = Convert.ToInt32(values[3].Split(',')[0]),
                FinalY   = Convert.ToInt32(values[3].Split(',')[1]),
            };

            return(explicitDirections);
        }