- Board where each cell can have two possible states:
- Alive
- Dead
- The goal is to calculate the next generation of the board by taking into account 4 rules (see below).
Important: not needed to implement a GUI.
- Any alive cell with less than 2 alive neighbours, dies (underpopulation)
- Any alive cell with more than 3 alive neighbours, dies (overpopulation)
- Any alive cell with exactly 2 or 3 alive neighbours, keeps being alive in the next generation.
- Any dead cell with exactly 3 alive neighbours, becomes alive in the next generation.
Note: we assume that the evolution affects all the cells simultaneously.
- We’re aiming for production-ready code.
- Feel free to use your language/technology of choice.
- It's recommended to spend not more than 2 hours with the exercise.
- You're encouraged to leverage a version control system, so we can understand the intermediate steps leading to your solution.
- Problems? Let us know, we’re always happy to help ;)
- Done? Share with us your work, ideally as link to a GitHub (or Bitbucket) repository ;)
Happy hacking! :)