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); }
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); }