public override void Randomize() { Random rnd = new Random(); for (int row = 0; row < _size; row++) { for (int column = 0; column < _size; column++) { //get a random number that is from 0 to 5 inclusive int random = rnd.Next(6); RedBlueCell cell = GetCell(row, column); switch (random) { case 0: cell.state = RedBlueState.RED; break; case 1: cell.state = RedBlueState.BLUE; break; default: cell.state = RedBlueState.DEAD; break; } } } }
public RedBlueLife(int inSize) { this._size = inSize; cells = new RedBlueCell[_size,_size]; for (int row =0; row < _size; row++) { for (int column = 0; column < _size; column++) { cells[row, column] = new RedBlueCell(); } } }
public RedBlueLife(int inSize) { this._size = inSize; cells = new RedBlueCell[_size, _size]; for (int row = 0; row < _size; row++) { for (int column = 0; column < _size; column++) { cells[row, column] = new RedBlueCell(); } } }
private bool isAlive(int row, int column) { if (row < 0 || row >= _size || column < 0 || column >= _size) { return(false); } else { RedBlueCell cell = GetCell(row, column); return(cell.state == RedBlueState.RED || cell.state == RedBlueState.BLUE); } }
public override void Iterate() { RedBlueCell[,] newCells = new RedBlueCell[_size,_size]; for (int row = 0; row < _size; row++) { for (int column = 0; column < _size; column++) { int living = countLivingSurroundingCells(row, column); RedBlueState victoriousState = getVictors(row, column); //this species wins in this area if (isAlive(row, column)) { if (living == 2 || living == 3) { RedBlueState dominantSpecies = getVictors(row, column); newCells[row, column] = new RedBlueCell(dominantSpecies); } else { newCells[row,column] = new RedBlueCell(RedBlueState.DEAD); //dead } } else { if (living == 3) { RedBlueState dominantSpecies = getVictors(row, column); newCells[row, column] = new RedBlueCell(dominantSpecies); //no tie possible here } else { newCells[row, column] = new RedBlueCell(RedBlueState.DEAD); } } } } cells = newCells; }
public override void Iterate() { RedBlueCell[,] newCells = new RedBlueCell[_size, _size]; for (int row = 0; row < _size; row++) { for (int column = 0; column < _size; column++) { int living = countLivingSurroundingCells(row, column); RedBlueState victoriousState = getVictors(row, column); //this species wins in this area if (isAlive(row, column)) { if (living == 2 || living == 3) { RedBlueState dominantSpecies = getVictors(row, column); newCells[row, column] = new RedBlueCell(dominantSpecies); } else { newCells[row, column] = new RedBlueCell(RedBlueState.DEAD); //dead } } else { if (living == 3) { RedBlueState dominantSpecies = getVictors(row, column); newCells[row, column] = new RedBlueCell(dominantSpecies); //no tie possible here } else { newCells[row, column] = new RedBlueCell(RedBlueState.DEAD); } } } } cells = newCells; }