Exemple #1
0
        List <Day12Spot> CompareAll(List <Day12Spot> previous)
        {
            List <Day12Spot> _ret = new List <Day12Spot>();
            Day12Spot        s    = new Day12Spot();

            int baseIndex = previous.First(f => f.C == '#').X - 4;

            for (int i = baseIndex; i <= previous.Count + this.maxX; i++)
            {
                Day12Group g = new Day12Group(previous, i);
                s = new Day12Spot(i, GroupCompare(g));

                _ret.Add(s);
            }

            //int last = _ret.Last(l => l.C == '#').X;
            //int first = _ret.First(f => f.C == '#').X;

            while (_ret.Last().C == '.')
            {
                _ret.Remove(_ret.Last());
            }

            while (_ret.First().C == '.')
            {
                _ret.Remove(_ret.First());
            }

            return(_ret);
        }
Exemple #2
0
        char GroupCompare(Day12Group g)
        {
            char _ret = '.';

            foreach (Day12StepGroup d12sg in this.steps)
            {
                if (g.Group.SequenceEqual(d12sg.Group))
                {
                    _ret = d12sg.Result;
                }
            }

            return(_ret);
        }