示例#1
0
文件: Program.cs 项目: Plenyx/AoC2020
        static void Main(string[] args)
        {
            List <string> inputList = (args.Count() > 0) ? InputLoader.GetInputAsList(args[0]) : InputLoader.GetInputAsList("input.txt");
            var           slope     = new Slope(inputList)
            {
                PositionX = 0, PositionY = 0, MovementRight = 3, MovementBottom = 1
            };

            slope.Start();
            Console.WriteLine($"Trees encountered in part 1: {slope.TreesEncountered}");
            // right 3, below 1
            var slope31 = slope.TreesEncountered;

            // right 1, below 1
            slope.PositionX     = slope.PositionY = 0;
            slope.MovementRight = slope.MovementBottom = 1;
            slope.Start();
            var slope11 = slope.TreesEncountered;

            // right 5, below 1
            slope.PositionX      = slope.PositionY = 0;
            slope.MovementRight  = 5;
            slope.MovementBottom = 1;
            slope.Start();
            var slope51 = slope.TreesEncountered;

            // right 7, below 1
            slope.PositionX      = slope.PositionY = 0;
            slope.MovementRight  = 7;
            slope.MovementBottom = 1;
            slope.Start();
            var slope71 = slope.TreesEncountered;

            // right 1, below 2
            slope.PositionX      = slope.PositionY = 0;
            slope.MovementRight  = 1;
            slope.MovementBottom = 2;
            slope.Start();
            var slope12 = slope.TreesEncountered;

            // part 2
            Console.WriteLine($"Number for part 2: {slope11*slope31*slope51*slope71*slope12}");
            Console.ReadLine();
        }