Пример #1
0
        static void Main(string[] args)
        {
            string[] input = File.ReadAllLines(@"..\..\..\input12.txt");
            var      ferry = new Ferry();

            foreach (var s in input)
            {
                var cmd = char.Parse(s.Substring(0, 1));
                var arg = int.Parse(s.Substring(1));

                switch (cmd)
                {
                case 'L':
                case 'R':
                    ferry.Turn(cmd, arg);
                    break;

                case 'N':
                case 'S':
                case 'E':
                case 'W':
                case 'F':
                    ferry.Move(cmd, arg);
                    break;
                }
            }
            Console.WriteLine($"Part1: {ferry.Manhatten}");

            var ferry2 = new Ferry();
            var wp     = new WayPoint(ferry2);


            foreach (var s in input)
            {
                var cmd = char.Parse(s.Substring(0, 1));
                var arg = int.Parse(s.Substring(1));

                switch (cmd)
                {
                case 'L':
                case 'R':
                    wp.Rotate(cmd, arg);
                    break;

                case 'N':
                case 'S':
                case 'E':
                case 'W':
                    wp.Move(cmd, arg);
                    break;

                case 'F':
                    ferry2.Move2wp(wp, arg);
                    break;
                }
            }
            Console.WriteLine($"Part2: {ferry2.Manhatten}");
        }
Пример #2
0
 public WayPoint(Ferry f)
 {
     Position = new[] { f.Position[0] + 10, f.Position[1] + 1 };
 }