Game of life, JAVA Programming

Assignment Help:

Conway's Game of Life is a "cellular automaton" that is played on a 2D grid (array) of cells. At the start of the game, an initial configuration is set up in which a number of cells are considered to be alive, while the remainder of the cells are considered to be dead.

The game of life proceeds in discrete steps called generations. In each generation, some of the cells will change from dead to alive, and vice-versa, according to specific rules. The rules are based on the neighborhood of 8 cells surrounding each cell, and are given as follows:

1.     Any live cell with fewer than two live neighbours dies, as if caused by under-population.

2.     Any live cell with two or three live neighbours lives on to the next generation.

3.     Any live cell with more than three live neighbours dies, as if by overcrowding.

4.     Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

Assignment

In this assignment, you will implement Conway's game of life. Like Mine Sweeper, this is a good project for working with 2D arrays, and also will give you some experience reading text files, as well as some simple GUI programming.

Instructions

1.  Write a program that will play Conway's game of life.

2.  The program must take the name of an input text file as user input somehow.

3. Input files will contain a first line stating the resolution of the life array, and then a number of lines giving the initial configuration of the array. (An "X" character is considered to be alive, and other characters are considered to be dead.) Your program must be able to handle life arrays of different sizes specified in an input file.

4.  Your program must handle "toroidal addressing" for the edges of the array. In other words, the left and right sides of the life array must be connected, as well as the top and bottom.

5.  You should display your life game in a GUI window. There are several ways to do this. One would be to have your application extend JFrame, and then use JLabels for each of the cells in a GridLayout.

6.   Provide a way for the user to specify the rate at which generations occur (for example, by using a Timer).

7.   Optional: Create a few interesting input files for your program.


Related Discussions:- Game of life

What are the non-final functions in java object class?, The non-final funct...

The non-final functions are clone (), finalize (), toString (), equals () , hashCode () and. The other methods like wait (), getClass (), notifyAll (), notify () etc are final

Explain booleans in java, Explain Booleans in java? Booleans are named ...

Explain Booleans in java? Booleans are named after George Boole, a nineteenth century logician. Every boolean variable has one of two values, true or false. These are not the s

Write a program to add integer value, Write a program to add integer value?...

Write a program to add integer value? class AddInts { public static void main (String args[]) { int i = 1; int j = 2; System.out.println("i is " + i); System.out.println("

Point of Sale Terminal, The problem statement is pretty simple. We need a s...

The problem statement is pretty simple. We need a software implementation of a Point of Sale terminal at a typical store. The users of the system are the cashiers sitting at the sa

Difference between durable and non-durable subscriptions, Point-To-Point (P...

Point-To-Point (PTP). This model permits exchanging messages via queues formed for some purposes. A client can send and receive messages from one or various queues. PTP model is ea

Create a simple object based gui application, Objective: create a simple o...

Objective: create a simple object, put that object in a simple collection class, use that object and collection in a simple GUI application. Specification:  Consider a Librar

Describe interfaces in java langauge, Describe Interfaces in java langauge?...

Describe Interfaces in java langauge? Interfaces are the further level of abstraction. An interface is like a class along with nothing but abstract methods and final, static fi

What is object oriented programming language, What is object oriented progr...

What is object oriented programming language? In classic, procedural programming you try to form the real world problem you're attempting to solve fit a few, predetermined data

Ejb container security?, EJB elements operate inside a container environmen...

EJB elements operate inside a container environment and rely heavily on the container to give security. The four key services needed for the security are: 1. Identification :

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd