Slide 76
Slide 76 text
def cellLifecycle(grid: GridZipper[Int]): Int = {
val neighborList: List[Int] = grid.getNeighbors
(neighborList.sum, grid.extract) match {
case (sum, 1) if sum == 2 || sum == 3 => 1
case (3, 0) => 1
case (_, 1) => 0
case (_, x) => x
}
}
MODEL THE RULES
CELL IS ALIVE, 2 OR 3 NEIGHBORS
STAY ALIVE