/*********************************************************************************************** Evolve README ***********************************************************************************************/ Author: Zachary Carter Revision Date: Saturday, February 28, 2004 /*********************************************************************************************** About Evolve ***********************************************************************************************/ Evolve consists of two containers, a JApplet, where the simulation takes place, and a JFrame, where the simulation is initialized, and output is displayed. So, lifeform interactions are displayed on the JApplet, while the JFrame keeps updated statistics of the simulation, and allows the user to manually adjust the speed of the simulation with a slider. The simulation is begun in one of two ways: when the user clicks the "Start" button on the JFrame, or clicks the "Start Simulation" menu Item on the JFrame's JMenu. Evolve utilizes polymorphism to create a simulation of two species, humans and canines, with both male and female members, that interact with eachother on a 600x600 square within a JApplet. These interactions are governed by a set of rules, which are as follows: 1) All lifeforms move about on the JApplet according to the movement type of their species. 2) Two lifeforms interact when they pass within 20 pixels of eachother. a) If two males of the same species interact, nothing happens. b) If two males of different species interact, one of them will die at random. c) If two females of the same species interact, nothing happns. d) If two females of the different species interact, nothing happens. e) If a male and a female of the same species interact, they produce a new offspring of the same species, and random gender. f) If opposite genders of different species interact, the female dies. 3) A lifeform dies once it has had 10 interactions. 4) A Female can reproduce at most 3 times. 5) The simulation ends if and when all lifeforms die, when all humans die, when all dogs die, or the population of one of the species exceeds 500. /************************************************************************************************* Known Bugs *************************************************************************************************/ 1) Sometimes the JFrame does not display itself when the program is run. 2) The Menu Bar does not display itself until after the simulation begins (that is, when the user presses the "Start" button. 3) Blue circles should be drawn at the point of conception when a birth occurs. While it can be seen that these circles are indeed drawn, as they should be, during the first second or so of the simulation, they are not drawn for the remainder of the simulation. /************************************************************************************************ End README *************************************************************************************************/