Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ Program Part 2 Your task is to write a program that plays the game of life. This game is a computer simulation of the

C++ Program Part 2

Your task is to write a program that plays the game of life. This game is a computer simulation of the life and death events in a population of single-cell organisms. Each position in a two-dimensional grid (Petri dish) can support one cell. The program determines whether each position will be able to support life in the next generation. The grid of cells is represented by a boolMatrix object. In other words, you are writing a program that USES the boolMatrix class. No changes should be made to boolmatrix.h or boolmatrix.cpp! The starting grid is generation 0 and is read from a supplied input file. Most positions in the grid have 8 neighbors like the center square in a tic-tac-toe game. The four corner positions have only 3 neighbors each. The remaining positions around the edge of the grid have 5 neighbors each. The rules for the state of each position in the next generation of the grid are as follows: If the cell is currently empty: If the cell has exactly three living neighbors, it will come to life in the next generation. If the cell has any other number of living neighbors, it will remain empty. If the cell is currently living: If the cell has one or zero living neighbors, it will die of loneliness in the next generation. If the cell has four or more living neighbors, it will die of overcrowding in the next generation. If the cell has two or three neighbors, it will remain living. All births and deaths occur simultaneously. This point is critical to the correct result. The following three webpages are also available: the data file, the correct output, and the output including intermediate generations. The last webpage is available to help you debug your code. The data file supplies the data for generation 0. Each line of data gives a pair of coordinates (row# column#) for a living cell in the original grid. Assume that every number in the text file is between 0 and 19. All other grid positions are empty. Please name your file "life.txt". After your program has created the boolMatrix object that represents generation 0, your program must allow life to proceed for the number of generations specified by the user. Start with five generations. Your program should then display a grid on the screen to show the final results. Use a star (*) to represent a live cell and a space to represent a dead cell. After the grid, display the following statistical information: The number of living cells in the entire board. The number of living cells in row 10. The number of living cells in column 10. Additional Requirements Make sure that your output matches the correct output exactly. To repeat, this program must use the boolMatrix class to represent the grid, rather than declaring its own arrays. You must not use any arrays in your client program. In this program, a minimum of four functions is required in addition to main(). In my solution there are five functions besides main(). Remember our discussions about stepwise refinement, value-returning vs. void functions, and value parameters vs. reference parameters. Be sure to document this program thoroughly, as always. The output that you provide with your submission should show generation 5 for a 20 by 20 grid. And also generation 8 for a grid of 21 rows and 22 columns. The change in grid size should be accomplished by changing only the two named constants in the specification file.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Fundamentals Of Database Systems

Authors: Ramez Elmasri, Sham Navathe

4th Edition

0321122267, 978-0321122261

More Books

Students also viewed these Databases questions

Question

In an Excel Pivot Table, how is a Fact/Measure Column repeated?

Answered: 1 week ago