Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask C/C++ Expert


Home >> C/C++

John H. Conway, a Cambridge mathematician, invented the Game of Life. The simulation runs on a square, two-dimensional array. Each cell in the array is in one of two states: occupied by a creature or empty.

Initially, the grid is populated randomly with occupied and empty cells. Once the initial grid has been created, the program loops. Each iteration of the loop represents a tick or time step in the environment.

Cells interact with their eight neighbors. Neighbors are the cells that are horizontally, vertically, or diagonally adjacent.

Creatures are created and die based on the following rules:

  1. Any living creature (occupied cell) with fewer than two live neighbors dies of loneliness.

  2. Any living creature with two or three live neighbors lives on to the next generation.

  3. Any living creature with more than three live neighbors dies of overcrowding.

  4. Any empty cell with exactly three live neighbors becomes an occupied cell. This represents a birth.

Your project should have three classes: Cell, Environment, and EnvironmentDriver. The Cell class will represent a single cell. It should contain the following:

Instance variables:
• A private boolean variable occupied that is true if the cell is occupied and false if

the cell is not occupied.

Methods:

  • A constructor that takes one boolean argument. This constructor should use its

    parameter to set the instance variable occupied.

  • An accessor (get) method for the occupied instance variable.

    The Environment class be responsible for running the simulation: Instance variables:

    • A private two-dimensional array of cells.

    Methods:

  • A constructor that takes one argument, n. The constructor should create the n x n

    array of cells. It should then randomly fill the array with occupied and empty cells.

  • A public runSimulation method is responsible for displaying the grid graphically

    and creating the next generation based on the rules given above.

    In addition, you should create private methods that divide up the work and make your code easier to read. These might include: a method that that is responsible for creating a grid that represents the next generation of creatures; a method that determines how many neighbors a single cell has; and a method that displays the grid graphically.

    You should use the class StdDraw to create your graphical representation. StdDraw will be demonstrated in class.

    The EnvironmentDriver class should contain the main method that starts the simulation. Here is some sample code for this method:

    public static void main(String[] args) {

    Environment e = new Environment(20);

    e.runSimulation(); }

    This code creates a 20 x 20 grid and starts the simulation.

C/C++, Programming

  • Category:- C/C++
  • Reference No.:- M9456326

Have any Question?


Related Questions in C/C++

Project - space race part a console Project - Space Race Part A: Console Implementation

Project - Space Race Part A: Console Implementation INTRODUCTION This assignment aims to give you a real problem-solving experience, similar to what you might encounter in the workplace. You have been hired to complete a ...

What are the legal requirements with which websites must

What are the legal requirements with which websites must comply in order to meet the needs of persons with disabilities? Why is maximizing accessibility important to everyone?

1 implement the binary search tree bst in c using the node

1. Implement the Binary Search Tree (BST) in C++, using the Node class template provided below. Please read the provided helper methods in class BST, especially for deleteValue(), make sure you get a fully understanding ...

There are several ways to calculate the pulse width of a

There are several ways to calculate the pulse width of a digital input signal. One method is to directly read the input pin and another method (more efficient) is to use a timer and pin change interrupt. Function startTi ...

Assignment word matchingwhats a six-letter word that has an

Assignment: Word Matching What's a six-letter word that has an e as its first, third, and fifth letter? Can you find an anagram of pine grave. Or how about a word that starts and ends with ant (other than ant itself, of ...

Why do researcher drop the ewaste and where does it end

Why do researcher drop the ewaste and where does it end up?

Assign ment - genetic algorithmin this assignment you will

ASSIGN MENT - GENETIC ALGORITHM In this assignment, you will use your C programming skills to build a simple Genetic Algorithm. DESCRIPTION OF THE PROGRAM - CORE REQUIREMENTS - REQ1: Command-line arguments The user of yo ...

Software development fundamentals assignment 1 -details amp

Software Development Fundamentals Assignment 1 - Details & Problems - In this assignment, you are required to answer the short questions, identify error in the code, give output of the code and develop three C# Console P ...

Question 1find the minimum and maximum of a list of numbers

Question: 1. Find the Minimum and Maximum of a List of Numbers: 10 points File: find_min_max.cpp Write a program that reads some number of integers from the user and finds the minimum and maximum numbers in this list. Th ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As