Пример #1
0
        protected override int SolvePartTwo()
        {
            SubmarineDriver submarine = new SubmarineDriver();

            submarine.SubmarineCommandFactory = new CorrectSubmarineCommandFactory();
            submarine.ExecutePlannedCourse(commands);
            return(submarine.HorizontalPosition * submarine.Depth);
        }
 public void SetUp()
 {
     commands = new List <string>()
     {
         "forward 5", "down 5", "forward 8", "up 3", "down 8", "forward 2"
     };
     submarine = new SubmarineDriver();
 }
Пример #3
0
        protected override void ReadInput(StreamReader input)
        {
            report    = new List <int>();
            submarine = new SubmarineDriver();
            string line;

            while ((line = input.ReadLine()) != null)
            {
                report.Add(int.Parse(line));
            }
        }
 public override void Execute(SubmarineDriver submarine)
 {
     submarine.HorizontalPosition += parameter;
 }
 public override void Execute(SubmarineDriver submarine)
 {
     submarine.Depth -= parameter;
 }
Пример #6
0
 public override void Execute(SubmarineDriver submarine)
 {
     submarine.HorizontalPosition += parameter;
     submarine.Depth += (submarine.Aim * parameter);
 }
Пример #7
0
 public abstract void Execute(SubmarineDriver submarine);