Exemplo n.º 1
0
        public override string Part1()
        {
            recipes.Add(3);
            recipes.Add(7);
            Elfs.Add(new Elf(1, 0));
            Elfs.Add(new Elf(2, 1));

            var recipesGoal = (Test ? 2018 : 286051);
            var score       = (long?)null;

            while (!score.HasValue)
            {
                foreach (var elf in Elfs)
                {
                    elf.Move();
                }
                if (Test)
                {
                    Print();
                }
                var sumElfRecipes = Elfs.Sum(c => recipes[c.Index]);
                foreach (var sumElfs in sumElfRecipes.ToString())
                {
                    recipes.Add((byte)Convert.ToInt32(sumElfs.ToString()));
                }

                if ((recipesGoal + 10) <= recipes.Count - 1)
                {
                    score = Convert.ToInt64(string.Join("", recipes.Skip(recipesGoal).Take(10).ToArray()));
                }
            }
            return(score.ToString());
        }
Exemplo n.º 2
0
        private void Print()
        {
            var sb       = new StringBuilder();
            var elfIndex = Elfs.Select(c => c.Index).ToArray();

            for (int i = 0; i < recipes.Count; i++)
            {
                if (elfIndex.Contains(i))
                {
                    var currentElf = Elfs.Where(c => c.Index == i).First();

                    var char1 = (currentElf.ID == 1) ? "(" : "[";
                    var char2 = (currentElf.ID == 1) ? ")" : "]";

                    sb.Append($"{char1}{recipes[i]}{char2}");
                }
                else
                {
                    sb.Append($" {recipes[i]} ");
                }
            }
            Debug.WriteLine(sb.ToString());
        }
Exemplo n.º 3
0
 public string VisitElfs(Elfs elf)
 {
     return("Elfs cast their elf magic to fly");
 }
Exemplo n.º 4
0
 public Slime()
 {
     majin     = 0;  beast = 0;  draconic = 0;   monster = 0;    demons = 0;    undead = 0;    humans = 0;    dwarfs = 0;    elfs = 0;
     majinCore = 0; beastCore = 0; demonsCore = 0; demonsCore = 0; undeadCore = 0;  humansEssence = 0; dwarfsEssence = 0; elfsEssence = 0;
 }
Exemplo n.º 5
0
 public string VisitElfs(Elfs elf)
 {
     return(elf.walk());
 }