# Extreme Qbasic Challenge

Life must be too dull for people because everything is all of the sudden an extreme sport of some kind or another. Well here's your chance to do the dew while obeying your thirst and put your programming skills to the test in the Extreme QBasic Challenge. Follow the guidelines below and create a program using QBasic (it doesn't matter which version). Attach you're program to an e-mail with the subject "Game of Life Challenge" and send it to swsoft@hotmail.com.  Supposing we get more than one entry we'll judge them and award the programmers accordingly. Fasten your seat belts, here comes S.W.Softs first ever Extreme Challenge.

### The Game of Life

(No its not a Milton Bradley Game)

The Game of Life is actually not a game at all, its more of a simulation so perhaps its better called the simulation of life. I digress. Anyway the point is to initialize a world, or board say 20 X 20, with individual cells. Each cell has two states and can either be alive or dead. Very Boolean don't you think. To begin with you play God and either randomly or selectively bring a given number, say half, to life. The cells can be represented in a number of ways (0's and 1's  or  two different colored pixels, be creative). The game consists of a series of turns in which cells are either created or killed due to certain criteria explained below. The game is over when all cells die or reach a certain state of equilibrium (i.e. no more cells can be created).

The 2 Golden Rules/Criteria:

If a non-living cell is surrounded by exactly three (of its possible eight neighbors) living cells that cell is spawned (it comes to life).

A living cell is overcrowded when it is surrounded by more than three living cells and will die. A living cell is too lonely with less than two neighbors and will die. (e.g. a living cell can only stay living if it has two or three neighbors)

Your challenge, should you choose to accept it, is to create a program that adheres to these rules logically and efficiently (i.e. using the fewest commands possible.) If you want to make the challenge an extreme challenge you must not only create this program logically and efficiently but also improvise. These rules are pretty much set in stone but if you want to add new rules and spice things up feel free. Maybe you could have multiple races of cells that attack each other or a way to control overpopulation to allow suburbs to pop up. Be creative and make it look nice. Points will be awarded to the following categories: code layout (is it logical and efficient), graphics, originality time (the first one received will receive a few bonus points).

Additionally (I guess this makes it an extreme extreme challenge), sometimes cool patterns evolve during the game. If you can figure out how to initialize these cool patterns and make the game flow and look all pretty like, we will award you a special innovation award. Good luck and enjoy.