BFOIT - Introduction to Computer Programming

Arrays

Introduction

Arrays are indexed collections of data.

In this lesson, you will learn:

  1. What an array is and why they are useful,
  2. How to create an array,
  3. How to put something into and array, and
  4. 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:

  1. In order for a cell to remain alive, it must have two or three neighbors.
  2. If a live cell has less than two neighbors, it dies (loneliness).
  3. If a live cell has more than three neighbors, it dies (over-crowdedness).
  4. 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

Summary


Back to Multiple Turtles
Go to the Table of Contents
On to A Java Program