Example #1
0
        public async Task <(string, string, string)> Solve()
        {
            var input = await InputHandler.GetInputByLineAsync(nameof(Day02));

            var navigationInstructions = input.Select(x =>
            {
                var parts = x.Split(' ');
                return(new NavigationInstruction
                {
                    Steps = int.Parse(parts[1]),
                    Navigation = parts[0]
                });
            });

            var basicSubmarine    = new Submarine.Submarine(0, 0, 0);
            var advancedSubmarine = new Submarine.Submarine(0, 0, 0);

            foreach (var navigationInstruction in navigationInstructions)
            {
                basicSubmarine.Move(navigationInstruction);
                advancedSubmarine.MoveWithAim(navigationInstruction);
            }

            var resultPartOne = basicSubmarine.PositionResult;
            var resultPartTwo = advancedSubmarine.PositionResult;

            return(nameof(Day02), resultPartOne.ToString(), resultPartTwo.ToString());
        }
Example #2
0
 public ISubmarine build()
 {
     submarine = new Submarine.Submarine(employeeCount, daysUnderWater);
     return(submarine);
 }