epresented by elements on a grid of squares, where a grid has an ar

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 1TF
icon
Related questions
Question

Problem Statement: The mathematician Conway imagined a game, called game of life, which
considered cells that are susceptible to reproduce, disappear, or survive when they obey certain
rules. These cells are represented by elements on a grid of squares, where a grid has an arbitrary
size. Thus, each cell (except those on the boundaries of the grid) is surrounded by eight squares
that contain other cells. The rules are stated as follows:
1. Survival: Each cell that has two or three adjacent cells survives until the next generation.
2. Death: Each cell that has at least four adjacent cells disappears (or dies) by overpopulation.
Also, each cell that has at most one adjacent cell dies by isolation.
3. Birth: Each empty square (i.e., dead cell) that is adjacent to exactly three cells gives birth
to a new cell for the next generation.
It is worth noting that all births and deaths occur at the same time during a generation.
Write a program that simulates this game and displays all successive generations, using any of
your favorite programming languages.
The implementation of this game-of-life software should be as structured as possible.
Deliverables: Students may choose to work in team of up to two members. You should turn in a
report explaining all the design decisions and your code should be commented appropriately for
readability and understanding. More precisely, a report should include the problem statement,
proposed approach/solution along with a detailed discussion, algorithm (high-level description of
all the design parts along with some details when necessary), commented code, tests (input given
by the user and output generated by your program execution), and lessons learned from such an
implementation experience. 

Expert Solution
steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Knowledge Booster
Processes of 3D Graphics
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning