Exemplo n.º 1
0
 public JupiterMoons(JupiterMoons jm)
 {
     foreach (var jmMoon in jm.Moons)
     {
         this.Moons.Add((jmMoon.Clone() as Moon));
     }
 }
Exemplo n.º 2
0
        public static void ExecuteStarOne(string fileLocation = "PuzzleInput/Day12.txt")
        {
            List <string> moonStringList = File.ReadAllLines(fileLocation).ToList();

            var jm = new JupiterMoons(moonStringList);

            for (int i = 0; i < 1000; i++)
            {
                jm.Tick();
            }

            Logger.LogMessage(LogLevel.ANSWER, "12A: Jupiter Moon Energy: " + jm.GetSystemEnergy());
        }
Exemplo n.º 3
0
        public static void ExecuteStarTwo(string fileLocation = "PuzzleInput/Day12.txt")
        {
            List <string> moonStringList = File.ReadAllLines(fileLocation).ToList();

            var jm        = new JupiterMoons(moonStringList);
            var initialJm = jm.Clone() as JupiterMoons;

            jm.Tick();

            long steps = 0;

            while (!jm.Equals(initialJm))
            {
                jm.Tick();
                steps++;
                if (steps % 1000 == 0)
                {
                    Logger.LogMessage(LogLevel.DEBUG, steps.ToString());
                }
            }

            Logger.LogMessage(LogLevel.ANSWER, "12B: Steps to Repeat: " + steps);
        }