home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Tool Box
/
SIMS_2.iso
/
vb_code1
/
life
/
life.frm
(
.txt
)
next >
Wrap
Visual Basic Form
|
1991-08-18
|
8KB
|
145 lines
Matrix
Mini Life
Form1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
Picture1
MenuFile
&File
FileExit
E&xit
MenuRun
&Restart
Form_Click
@ Form_Loadi
Picture1
Visible
SumNeighbs
SumNiegbs
SumNieghbs
ThenPicture1J
SumNeights
Form_Resize
qbcolor
backcolorW
CurrentColor
ifPicture14
State
Stete
LifeState
SumStates
FileExit_Click
MenuRun_Click
Form_MouseDown
Button
Shift
Form_Unload
Cancel
FileRun
Enabled
MenuRun
Form_Resize
FileExit_Click
MenuRun_Click
Turn 'em all off to make the initialization look plainer.u
Set the cellular automata matrix to a random (50%) state of existence.
The real action is here.
The "Game of Life" rules are public domain.
This Visual Basic adaptation by Rick Wagner (CIS 76427,2611) is given to the public by the author.
Thanks to all the MSLANG Forum Visual Basic section who have uploaded code or given assistance
through messages.e
The form for this sample/demo was created with an 800 x 600 16 color machine. Please let me
know if there are problems with the form at other resolutions. I know I have to redo forms
for 8414/A because of 1) system fonts are different and 2) bitmaps are smaller. There area
none of those in this sample, but I moved the project window over so VGA types can see it.
This sample program exhibits all the classic forms of the "Game of Life:" blinkers, squares, etc.t
Expanding the picture box array size and applying this code to it should work fine.n
Note: To implement really large matrices you may find better performance in using a pair of 2D integer arrays to
hold alternating state vectors for the matrix, one for the current generation, one for the next.g
Using 2D matrices will make dealing with "ghost" cells easier.
MenuRun.Enabled = -1 'Enables the "Restart" menu option
Flag turns true when all cells are dead.
Add some variety to the colors, and trace the loop visually.
Lemme outta here... (otherwise you get a real secure system).a
This loop establishes the sums of living neighbors for each cell
and assigns future (next cycle) life states based on the "Game of Life" rules.
A small (8 x 8) matrix implemented with a one dimensional control array.
Initialize the sum of neighbors (non-border cells can have 8 neighbors).
These conditions exclude nonexistent picture boxes.e
Excludes from right column cells the touch of ghosts
Exclude from left column cells the touch of ghosts
Excludes from rights
Excludes from left t
Excldes from left
Excludes from rights
These are the "Game of Life" rules:
This loop assigns visibility (aliveness) depending on states assigned above.
Used to detect total death
Sets the cell color for the current cycles
They're all dead!"
Form_Load
Sets the cellular automata matrix to an initial random (50%) state of existence.
Add some variety to the initial color
Sets the cell color for the initial stateo