Ant Lab 1
Ants are wonderfully simple things that can behave in complex ways (kind of like a computer)! So why not see if we can program a simulation of some ants randomly walking around. As long as they don't know where food is, they will keep walking, and after short while, they will randomly change their direction.
Next we need to give them some knowledge. When they detect food, they will record the location of the food, and just go back and forth from their
AntHill to the the
Food supply. When the
Food runs out, they will forget the location, and go back into random walking, like before.
Finally, we will want to give them some communication skills. If they encounter another
Ant, they will share any information about food. (Maybe later you can make a subclass of
GeniusAnt that will remember more than one food source, but for right now, an
Ant can only remember one thing at a time). You can always enhance your simulation by adding obstacles or ants from another colony that will fight with, or make a
QueenAnt so your colony can make another colony.
Before we make an
Ant we will be needing a way to test it (See Extreme programing for why it's a good idea to make a tester before the object you are testing). We will make a simple
AntCorral that will eventually hold
Food objects and
AntHill objects that spawn
Antss as well as tell the all the objects in the
AntCorrall about the passage of time, so they will do something. The objects will implement an interface we will invent called
Active. Any object that is
Active will need to have a
The starter code above will only show the passage of time with an increasing counter called
ticks. Feel free to add the the String
message to show information. Now let us make the first version of
Ant which will implement the
Active interface we have invented.