public void ZelleAendern(Zelle zelle, out bool zelleLebt) { zelleLebt = ZelleExistiert(this._lebendeZellen, zelle); if (zelleLebt) { this._lebendeZellen = this._lebendeZellen.Remove(zelle).ToArray(); } else { this._lebendeZellen = this._lebendeZellen.Append(zelle).ToArray(); } }
public int CheckPopulation(Zelle zelle) { int population = 0; foreach (Zelle currentZelle in this._lebendeZellen) { if (zelle.IsNeighbor(currentZelle, this._x, this._y)) { population++; } } return(population); }
public static bool ZelleExistiert(Zelle[] suchArray, Zelle pruefZelle) { return(Array.Exists <Zelle>(suchArray, zelle => zelle.X == pruefZelle.X && zelle.Y == pruefZelle.Y)); }
public static IEnumerable <Zelle> Remove(this IEnumerable <Zelle> zelleSequence, Zelle zelle) { if (SpielFeld.ZelleExistiert(zelleSequence.ToArray(), zelle)) { zelleSequence = zelleSequence.Where <Zelle>(z => z.X != zelle.X || z.Y != zelle.Y); } return(zelleSequence); }