## ntroduction

Arrays are indexed collections of data.

In this lesson, you will learn:

- What an array is and why they are useful,
- How to create an array,
- How to put something into and array, and
- How to access something in the array.

## The Game of Life

John Conway’s Game of Life is an example of Cellular Automaton.

A cellular automaton is a collection of "colored" cells on a grid of specified shape that evolves through a number of discrete time steps according to a set of rules based on the states of neighboring cells. The rules are then applied iteratively for as many time steps as desired. (from http://mathworld.wolfram.com/CellularAutomaton.html).

The “Game of Life” is played on a grid. The squares of the grid are called * cells*. A cell that is alive is colored in. The rules for Life are simple. They are:

- In order for a cell to remain alive, it must have two or three neighbors.
- If a live cell has less than two neighbors, it dies (loneliness).
- If a live cell has more than three neighbors, it dies (over-crowdedness).
- If an empty cell has exactly two neighbors, it comes to life.

A cell’s neighbors are the eight cells which surround it (to its north, northeast, east, etc…).

alt=”Your browser understands the <APPLET> tag but isn’t running the applet, for some reason.” Your browser is completely ignoring the <APPLET> tag! Life Applet

Here is a Java applet that implements a subset of the Game of Life. Draw some patterns by clicking the left mouse button on squares to bring them to life. Then click on the [Step] button to watch what happens as the rules are applied in one cycle of Life.

## Commands for Working With Arrays

Name |
Input(s) |
Description |

ARRAY | size | Outputs an array of size members, each of which is initially an empty sentence. Size must be a positive integer. |

ITEM | index array |
Outputs the indexth member of array. |

SETITEM | index array value |
Replaces the indexth member of array with value. |

Table 19.1 |