User Tools

Site Tools


ant_lab_1

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 Ant called 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 doSomething method.

Active.java

AntLand1.java

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.

ant_lab_1.txt · Last modified: 2018/11/23 13:45 by cthiel

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki