CS 161 Lab G - Game of Life

Due Thurs Mar 14 at 11:59pm

Overview

First off, happy Pi Day!

In this lab, you will investigate Conway's "Game of Life", which isn't actually a game, but is very interesting. The Game of Life is played on a square grid of cells, each of which may be "alive" or "dead". Given one state of the grid, you update the grid to a new state (a new "generation") based on the number of neighbors of each cell. Read the above-linked article for the rules; the quick version is that living cells stay living with 2 or 3 neighbors, and dead cells become alive with exactly three neighbors.

Here are a couple of pictures of the game in progress:

After evolving for a while, the board usually settles into a state somewhat like this:

In this week's lab, you will implement the Game of Life and experiment with it.

This lab will be completed in pairs. Be sure to review the pair programming guidelines. You also must work with a different partner than you have before!

Objectives

Necessary Files

You will need to download and extract the BlueJ project from the LabG.zip file. This project will supply you with the following classes:

Details

In this lab, you will not need to write any new classes! However, you will need to modify the Life class in order to make things work.

Submitting

Grading

This assignment will be graded on approximately the following criteria: