void ParseInput() { string resourceName = "Advent2018.Advent12.Input.txt"; //resourceName = "Advent2018.Advent12.Test.txt"; var input = typeof(Program).Assembly.GetManifestResourceStream(resourceName); powers = new int[5]; powers[0] = 1; powers[1] = 2; powers[2] = 4; powers[3] = 8; powers[4] = 16; using (var txt = new StreamReader(input)) { var initialString = txt.ReadLine().Split(' ')[2]; var initial = initialString.Select(c => c == '#').ToArray(); current = new PlantLine(initial, 0); txt.ReadLine(); rules = new Dictionary <int, bool>(); for (int n = 0; n < 32; n++) { rules.Add(n, false); } while (!txt.EndOfStream) { var line = txt.ReadLine(); if (line[9] == '#') { int ruleKey = 0; for (int n = 0; n < 5; n++) { if (line[n] == '#') { ruleKey += powers[n]; } } rules[ruleKey] = true; } } } }
private void TakeStep() { current = current.GetNext(); }