Пример #1
0
        public void GiveLife(LifeCandidates lifeCandidates, HashSet <Coordinate> newDictSet)
        {
            foreach (var candidate in lifeCandidates)
            {
                if (candidate.AliveNeighbours == 3)
                {
                    newDictSet.Add(new Coordinate(candidate.X, candidate.Y));
                }
            }

            CellDictionary = GenerateCellDictionary(newDictSet);
        }
Пример #2
0
        public LifeCandidates TakeLife(HashSet <Coordinate> newDictSet)
        {
            var lifeCandidates = new LifeCandidates();

            foreach (var cell in CellDictionary)
            {
                lifeCandidates.AddCandidates(cell.GetEmptyNeighbours());

                var neighbourCount = cell.GetNeighbourCount();

                if (neighbourCount == 2 || neighbourCount == 3)
                {
                    newDictSet.Add(new Coordinate(cell.X, cell.Y));
                }
            }

            return(lifeCandidates);
        }