Contents of the TERMITE.DOC file
--==[ TERMITE v1.0 ]==--
This is another little inspiration from Scientific American.
You will find the article in the Computer Recreations column
of the September 1989 issue. The program models one form of
a "Turing machine". Watching the program in action is fun
but the most fun is received when you create your own state
table termite. The process can be completely random or some
thinking can be applied to the states in the tables.
The state tables for an individual Termite are contained in a
text file. By default the program will load a state file
named DEFAULT.MIT. You may load any other table by using the
file open menu option and then selecting a file. Initially
there will only be one termite. Pressing the insert key will
add new termites to the display. The delete key will remove
them. A maximum of 25 termites and a minimum a one are the
current limits. This can be changed in the code.
The format of a state table file is shown below:
Each table contains #Rows by #Columns elements. An example
is shown below:
1 2 3 0
2 3 0 1
1 0 2 3
2 1 0 3
0 1 0 2
2 0 1 0
Values are indexed from the tables by matching the current
state to the row and the current color to the column. Values
in the state table must be in the range 0 to #Rows-1. The
values in the color table must be in the range 0 to #Columns-1.
Note, the number of columns should not exceed the number of
colors. There is a one to one mapping of the column number to
the color used for the termite.
Values in the movement table are mapped as follows:
0 = Move forward one square (pixel)
1 = Turn 90 degrees left, then move forward
2 = Turn 90 degrees right, then move forward
The cycle of a Termite is shown below:
1) Read the current color at the current position.
2) Find the new color from the color table.
3) Set the new color at the current position.
4) Get the direction to move from the movement table.
5) Move to the new position.
6) Get the new state from the state table.
7) Loop back to 1.
This is a rough description but there is an excellent one in
the Scientific American column. I have included the source code
so that you may take a look at works. I am using some of my
own graphics routines but it would be very easy to use Turbo BGI
or similiar graphics routines. I am releasing this program into
the Public Domain world of software. It may be distributed for
fun and thrill. Have fun. Note, the author assumes no liability
in the use of this program.
- Hans Kellner -
Note: Sept, 1990 - This is a modified version from my original.
It has been tweeked to run under MS Windows. The original
used my own windowing environment.