View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Game of Life

Project Description
This project will involve implementing the game of life in smalltalk (the one where you have a grid of cells that evolve over time). We'll be using patterns to implement the various GUI aspects.

Background Info:
Game of Life

Features:
  • Drag-and-drop patterns that the user can put into the grid.
  • Ability to choose among several preset variations, or input a custom variation.
  • Ability to resize the grid
  • clickable grid

Requirements:
Array2D package (http://map.squeak.org/package/e4e66f2f-58b6-403a-b0f8-57a229cafb96)
GameLife
Supporting patterns in the .txt files

Instructions
Open through the new morph menu option that comes up with a right-click in an empty area of the workspace. Choose GameLife.

Click on a square in the board to set it to be initially alive.
Press run and watch it go.

The rest of the GUI works as follows:
Clear - reset the board to a clean slate
Quit - exit the program
Help - bring up a help menu
Zoom +/- -change the zoom level of the board
Rule - choose a custom rule (conditions on which a cell is alive or
born)
Pattern - choose a preset pattern. The patterns are encoded in the
.txt files present in the directory
Use Hashtable - change to the hashtable algorithm. This does not
function yet and is around for future work.

The Iteration LED shows which iteration the simulation is on.
The Alive LED gives the conditions on which a cell stays alive.
The Born LED gives the conditions on which a cell is born.
The Alive/Born conditions are encoded by each integer in the string
representing how many cells around it trigger the desired result. So a rule of 456 in the alive LED would mean a cell is still alive if it is surrounded by 4,5, or 6 cells.

The cells are color-coded to their current status. White is dead, gray is just died, light blue is just born, and blue is alive.


Weiler, Andrew
Nguyen, Huong
Nguyen, Nhung


Link to this Page

  • Class projects last edited on 2 April 2008 at 5:20:59 pm by vpn3-144241.near.uiuc.edu