The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves, or, for advanced players, by creating patterns with particular properties.
for more information see wikipedia.org
We create a Behavior-driven development (BDD) to define a test set and finally verify that the implementation of the unit makes the tests succeed.
We create a method that takes in the current cell state (live/dead) and the number of live neighbors and then spits out a new state (live/dead).
- Visual studio to run the application.
- .Net Framework 4.6.1
- specflow Binding Business Requirements to .NET Code
- Nunit Unit-testing framework for all .Net languages. 3.11.0
- Fluent assertions Assertions is Fluent 5.0.0
We start with a two dimensional grid of cells, where each cell is either alive or dead. In this version of the problem, the grid is finite, and no life can exist off the edges. When calcuating the next generation of the grid, follow these rules:
- Any live cell with fewer than two live neighbours dies, as if caused by underpopulation.
- Any live cell with more than three live neighbours dies, as if by overcrowding.
- Any live cell with two or three live neighbours lives on to the next generation.
- Any dead cell with exactly three live neighbours becomes a live cell.
- Made by Atef Mlaouhi.
This project uses the LGPL v3 License (See the LICENSE file in this repository).