<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_12) on Thu Oct 29 17:02:02 NZDT 2009 -->
<TITLE>
Evolution
</TITLE>
<META NAME="date" CONTENT="2009-10-29">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Evolution";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Evolution.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
PREV CLASS
<A HREF="Evolution.Action.html" title="enum in <Unnamed>"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?Evolution.html" target="_top"><B>FRAMES</B></A>
<A HREF="Evolution.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
Class Evolution</H2>
<PRE>
java.lang.Object
<IMG SRC="./resources/inherit.gif" ALT="extended by ">java.awt.Component
<IMG SRC="./resources/inherit.gif" ALT="extended by ">java.awt.Container
<IMG SRC="./resources/inherit.gif" ALT="extended by ">java.awt.Window
<IMG SRC="./resources/inherit.gif" ALT="extended by ">java.awt.Frame
<IMG SRC="./resources/inherit.gif" ALT="extended by ">javax.swing.JFrame
<IMG SRC="./resources/inherit.gif" ALT="extended by "><B>Evolution</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Evolution</B><DT>extends javax.swing.JFrame</DL>
</PRE>
<P>
Evolution game
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Rick Townsend</DD>
<DT><B>See Also:</B><DD><A HREF="serialized-form.html#Evolution">Serialized Form</A></DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.Action.html" title="enum in <Unnamed>">Evolution.Action</A></B></CODE>
<BR>
List of all possible Animal actions</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.Animal.html" title="class in <Unnamed>">Evolution.Animal</A></B></CODE>
<BR>
Class for an animal</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.Drawable.html" title="class in <Unnamed>">Evolution.Drawable</A></B></CODE>
<BR>
Inner class for all drawable items to derive from.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.Hazard.html" title="class in <Unnamed>">Evolution.Hazard</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.HazardType.html" title="enum in <Unnamed>">Evolution.HazardType</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.Plant.html" title="class in <Unnamed>">Evolution.Plant</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.ReactionEvent.html" title="enum in <Unnamed>">Evolution.ReactionEvent</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static class</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.StatisticType.html" title="enum in <Unnamed>">Evolution.StatisticType</A></B></CODE>
<BR>
</TD>
</TR>
</TABLE>
<A NAME="nested_classes_inherited_from_class_javax.swing.JFrame"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JFrame</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>javax.swing.JFrame.AccessibleJFrame</CODE></TD>
</TR>
</TABLE>
<A NAME="nested_classes_inherited_from_class_java.awt.Frame"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Frame</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>java.awt.Frame.AccessibleAWTFrame</CODE></TD>
</TR>
</TABLE>
<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Window</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>java.awt.Window.AccessibleAWTWindow</CODE></TD>
</TR>
</TABLE>
<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
</TR>
</TABLE>
<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
</TR>
</TABLE>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#allowStandoffs">allowStandoffs</A></B></CODE>
<BR>
allow standoffs when both friends and enemies are greater than 3?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#animalLimit">animalLimit</A></B></CODE>
<BR>
limit to the number of animals</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.ArrayList<<A HREF="Evolution.Animal.html" title="class in <Unnamed>">Evolution.Animal</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#animals">animals</A></B></CODE>
<BR>
List of all active animals</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#background">background</A></B></CODE>
<BR>
default background colour</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#backgroundFile">backgroundFile</A></B></CODE>
<BR>
path and filename of background image, using ResourceBundle naming (eg: "images\background\my.png" would be "images.background.my.jpg")</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#backgroundImagePixels">backgroundImagePixels</A></B></CODE>
<BR>
array of the pixels loaded as the original background</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#backgroundPixels">backgroundPixels</A></B></CODE>
<BR>
array of the pixels used as a background</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#baseLife">baseLife</A></B></CODE>
<BR>
starting life for initial set of animals</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#basePlantLife">basePlantLife</A></B></CODE>
<BR>
starting life for all plants</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.awt.image.BufferedImage</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#buff">buff</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.awt.image.BufferedImage</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#buffBG">buffBG</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.Hashtable<java.lang.String,java.util.PropertyResourceBundle></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#bundles">bundles</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.ArrayList<<A HREF="Evolution.Drawable.html" title="class in <Unnamed>">Evolution.Drawable</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#clicked">clicked</A></B></CODE>
<BR>
List of all animals the user left-clicked on</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.Hashtable<java.lang.String,java.lang.String></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#colours">colours</A></B></CODE>
<BR>
Cached list of colours</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#currentFrame">currentFrame</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#doPaint">doPaint</A></B></CODE>
<BR>
flag to indicate if the screen should be painted,
no reason to paint the screen if nothing is changing</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#doResize">doResize</A></B></CODE>
<BR>
flag to indicate if the frame was resized since the last draw</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#doWipe">doWipe</A></B></CODE>
<BR>
flag to indicate if the sprites should be wiped (undrawn) when they move or die</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.Vector<<A HREF="Evolution.Hazard.html" title="class in <Unnamed>">Evolution.Hazard</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#droppedHazards">droppedHazards</A></B></CODE>
<BR>
List of all hazards dropped during this iteration</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.Vector<<A HREF="Evolution.Plant.html" title="class in <Unnamed>">Evolution.Plant</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#droppedPlants">droppedPlants</A></B></CODE>
<BR>
List of all plants dropped during this iteration</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#escape">escape</A></B></CODE>
<BR>
flag to indicate if the escape button has been pushed (ie: exit flag)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static <A HREF="Evolution.html" title="class in <Unnamed>">Evolution</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#frame">frame</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#gameSeed">gameSeed</A></B></CODE>
<BR>
seed to use for initializing randomizer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.awt.Graphics</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#gr">gr</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static double</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#growthLimit">growthLimit</A></B></CODE>
<BR>
limit to how fast plants can grow or die</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.ArrayList<<A HREF="Evolution.Hazard.html" title="class in <Unnamed>">Evolution.Hazard</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#hazards">hazards</A></B></CODE>
<BR>
List of all active non-life objects</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#hazardsFile">hazardsFile</A></B></CODE>
<BR>
path to hazards initialization file, which defines what hazards should be loaded where</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.Hashtable<<A HREF="Evolution.HazardType.html" title="enum in <Unnamed>">Evolution.HazardType</A>,int[]></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#hazardSprites">hazardSprites</A></B></CODE>
<BR>
Cached list of sprites for NonLife objects</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#headless">headless</A></B></CODE>
<BR>
whether the app should run in headless mode (can also be set by adding "headless" as a commandline switch)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#height">height</A></B></CODE>
<BR>
game height (not height of the window!)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#initialHazardsLoad">initialHazardsLoad</A></B></CODE>
<BR>
list of hazards to load in the initial spawn (eg: Mud:50)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#initialPlants">initialPlants</A></B></CODE>
<BR>
initial number of plants to spawn</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#initialSpeciesLoad">initialSpeciesLoad</A></B></CODE>
<BR>
list of species to load in the initial spawn</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#keys">keys</A></B></CODE>
<BR>
array of keys (to detect which ones are currently being held</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#killCurrent">killCurrent</A></B></CODE>
<BR>
flag to indicate if the currently selected object should be killed</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#killRange">killRange</A></B></CODE>
<BR>
range at which animals can kill each other</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#killRulesLifeBased">killRulesLifeBased</A></B></CODE>
<BR>
flag to indicate if Life-based kill rules should be applied</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#killRulesLifeThreshold">killRulesLifeThreshold</A></B></CODE>
<BR>
threshold which, when passed by difference between enemy and friend Life totals, indicates the animal is killed</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#lastPaintTime">lastPaintTime</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#lastScreenshotFrame">lastScreenshotFrame</A></B></CODE>
<BR>
pointer to the last frame used in a screenshot</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#lastScreenshotNum">lastScreenshotNum</A></B></CODE>
<BR>
counter for screenshots</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#lineHeight">lineHeight</A></B></CODE>
<BR>
height of text lines</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static double</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#livingCost">livingCost</A></B></CODE>
<BR>
cost of living one turn</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#mouseButton">mouseButton</A></B></CODE>
<BR>
mouse flags: X Coord, Y Coord,
and what mouse button is currently being held</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#moveDown">moveDown</A></B></CODE>
<BR>
flag to indicate if Animal Details screen should move down one</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#moveUp">moveUp</A></B></CODE>
<BR>
flag to indicate if Animal Details screen should move up one</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static double</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#movingCost">movingCost</A></B></CODE>
<BR>
cost of moving one pixel</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#paused">paused</A></B></CODE>
<BR>
flag to indicate if the game is currently paused</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#pixels">pixels</A></B></CODE>
<BR>
array of the screen pixels (ie: the game board)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.ArrayList<<A HREF="Evolution.Plant.html" title="class in <Unnamed>">Evolution.Plant</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#plants">plants</A></B></CODE>
<BR>
List of all active plants</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#plantSpawnRate">plantSpawnRate</A></B></CODE>
<BR>
rate at which plants spawn</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.util.Random</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#randomGen">randomGen</A></B></CODE>
<BR>
random number generator (will be seeded with gameSeed)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#reportCycles">reportCycles</A></B></CODE>
<BR>
number of loops between reporting intervals (0 or negative means no reporting, 1 is continuous reporting)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static float</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#screenshotCompressionRatio">screenshotCompressionRatio</A></B></CODE>
<BR>
image compression ratio for screenshots</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#screenshotDirectory">screenshotDirectory</A></B></CODE>
<BR>
directory in which to put screenshots</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#screenshotInterval">screenshotInterval</A></B></CODE>
<BR>
iteration to automatically take screenshots</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#screenshotType">screenshotType</A></B></CODE>
<BR>
image type for screenshots</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#serialVersionUID">serialVersionUID</A></B></CODE>
<BR>
Serial version (just a GUID, really)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#showClicked">showClicked</A></B></CODE>
<BR>
flag to indicate if the details of the animals the user
clicked-on should be displayed to the screen; if false then
the game board should be displayed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#sightLimit">sightLimit</A></B></CODE>
<BR>
limit for the sight of animals</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#sleepTime">sleepTime</A></B></CODE>
<BR>
interval that the main thread sleeps for during iterations</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#spawnChildrenLimit">spawnChildrenLimit</A></B></CODE>
<BR>
limit for the number of children that can be spawned at once</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#speciesPath">speciesPath</A></B></CODE>
<BR>
path to species definitions, using ResourceBundle naming (ie: "species\hunters\canines\" would be "species.hunters.canines.")</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static java.util.Hashtable<java.lang.String,java.util.Hashtable<<A HREF="Evolution.StatisticType.html" title="enum in <Unnamed>">Evolution.StatisticType</A>,java.lang.Integer>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#speciesStats">speciesStats</A></B></CODE>
<BR>
Statistics</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#speedLimit">speedLimit</A></B></CODE>
<BR>
limit for the movement speed of animals</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#spriteHeight">spriteHeight</A></B></CODE>
<BR>
height of sprites</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#spriteWidth">spriteWidth</A></B></CODE>
<BR>
width of sprites</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#textOffset">textOffset</A></B></CODE>
<BR>
left offset of text lines</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#title">title</A></B></CODE>
<BR>
game title</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#titlebar">titlebar</A></B></CODE>
<BR>
offset for size of window titlebar</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#tournamentCycles">tournamentCycles</A></B></CODE>
<BR>
tournament mode, stop when a specific number of cycles have passed</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#tournamentFinalScreenshot">tournamentFinalScreenshot</A></B></CODE>
<BR>
tournament mode, whether to take a screenshot when the tournament ends</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#tournamentMode">tournamentMode</A></B></CODE>
<BR>
tournament mode flag, indicates that the tournament settings should be honoured</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#tournamentOneWinner">tournamentOneWinner</A></B></CODE>
<BR>
tournament mode, stop when only one species remains (regardless of how it may have evolved.)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#tournamentTimeout">tournamentTimeout</A></B></CODE>
<BR>
tournament mode, stop when a given amount of time (in milliseconds) has passed</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#width">width</A></B></CODE>
<BR>
game width</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#xMouse">xMouse</A></B></CODE>
<BR>
mouse flags: X Coord, Y Coord,
and what mouse button is currently being held</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#yMouse">yMouse</A></B></CODE>
<BR>
mouse flags: X Coord, Y Coord,
and what mouse button is currently being held</TD>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_javax.swing.JFrame"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class javax.swing.JFrame</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled</CODE></TD>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_java.awt.Frame"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class java.awt.Frame</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR</CODE></TD>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface javax.swing.WindowConstants</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE</CODE></TD>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
</TR>
</TABLE>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="Evolution.html#Evolution(java.lang.String)">Evolution</A></B>(java.lang.String str)</CODE>
<BR>
Constructor</TD>
</TR>
</TABLE>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#activeSpecies()">activeSpecies</A></B>()</CODE>
<BR>
A simple method to count the number of species that have at least one living member.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#adjustStat(java.lang.String, Evolution.StatisticType, int)">adjustStat</A></B>(java.lang.String species,
<A HREF="Evolution.StatisticType.html" title="enum in <Unnamed>">Evolution.StatisticType</A> stat,
int value)</CODE>
<BR>
Adjust a statistic against a given species</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#deltaPosition(double, double)">deltaPosition</A></B>(double distance,
double direction)</CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#doInitialHazards()">doInitialHazards</A></B>()</CODE>
<BR>
Load up the inital set of hazards.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#doInitialSpawn()">doInitialSpawn</A></B>()</CODE>
<BR>
Spawn up the initial set of animals</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#drawSplash()">drawSplash</A></B>()</CODE>
<BR>
Draws the splash screen, with the menu of commands.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#dropHazard(int)">dropHazard</A></B>(int index)</CODE>
<BR>
Drops a hazard at the current mouse location</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#dropPointX()">dropPointX</A></B>()</CODE>
<BR>
Calculates the x-coord of the drop point on the playing field, based on the mouse position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#dropPointY()">dropPointY</A></B>()</CODE>
<BR>
Calculates the y-coord of the drop point on the playing field, based on the mouse position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#getARGB(int, int, int, int)">getARGB</A></B>(int a,
int r,
int g,
int b)</CODE>
<BR>
Convert colour elements to an ARGB value using bit-shifting.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static double</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#getRand()">getRand</A></B>()</CODE>
<BR>
Generates a random number between -1 and 1</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private double</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#limitRange(double, double, double)">limitRange</A></B>(double value,
double lower,
double upper)</CODE>
<BR>
Extremity check integer values to bounds</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private int</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#limitRange(long, int, int)">limitRange</A></B>(long value,
int lower,
int upper)</CODE>
<BR>
Extremity check integer values to bounds</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#loadColours()">loadColours</A></B>()</CODE>
<BR>
Load the hash of named colours from the Colours resource bundle</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#loadHazards()">loadHazards</A></B>()</CODE>
<BR>
Load the hazards from the Hazards initialisation file</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#loadHazardSprites()">loadHazardSprites</A></B>()</CODE>
<BR>
Load the sprites for the various Hazard Types.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#loadSpecs(java.lang.Object, java.lang.String)">loadSpecs</A></B>(java.lang.Object a,
java.lang.String type)</CODE>
<BR>
Convenience method to load specs with no prefix</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#loadSpecs(java.lang.Object, java.lang.String, java.lang.String)">loadSpecs</A></B>(java.lang.Object a,
java.lang.String type,
java.lang.String prefix)</CODE>
<BR>
Load specs for a given type, using the specified prefix</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#main(java.lang.String[])">main</A></B>(java.lang.String[] args)</CODE>
<BR>
Main code block.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#paint(java.awt.image.BufferedImage, java.awt.Graphics)">paint</A></B>(java.awt.image.BufferedImage buff,
java.awt.Graphics gr)</CODE>
<BR>
I split this method out to keep it generic.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static <A HREF="Evolution.Action.html" title="enum in <Unnamed>">Evolution.Action</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#parseActionArray(java.lang.String)">parseActionArray</A></B>(java.lang.String array)</CODE>
<BR>
Parse a comma delimited string into an Action array</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#parseIntArray(java.lang.String)">parseIntArray</A></B>(java.lang.String array)</CODE>
<BR>
Parse a comma delimited string into an integer array</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#printStats(double)">printStats</A></B>(double fps)</CODE>
<BR>
Print the statistics to the standard output.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#processEvent(java.awt.AWTEvent)">processEvent</A></B>(java.awt.AWTEvent e)</CODE>
<BR>
Process input events to the JFrame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#processKeyPress()">processKeyPress</A></B>()</CODE>
<BR>
Handles key presses, by initiating actions for any keys that are currently "down" (pressed)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#processMouseClick()">processMouseClick</A></B>()</CODE>
<BR>
Handles mouse clicks, either adding sprites to a list of items to be displayed,
or resetting the flag to indicate that the click results window should be hidden.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#remapPixels()">remapPixels</A></B>()</CODE>
<BR>
Remaps pixels back to the background pixels buffer, then redraws all
non-background sprites to the buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#resizePixels()">resizePixels</A></B>()</CODE>
<BR>
Resizes the window and playing field, moves all off-screen sprites so they fit
into the new dimensions, and remaps the sprites into the resized buffers.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#setUpBuffers()">setUpBuffers</A></B>()</CODE>
<BR>
Set up the buffers, using the window size information and the background image</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#showStats(java.awt.Graphics, java.awt.image.BufferedImage)">showStats</A></B>(java.awt.Graphics gr,
java.awt.image.BufferedImage buffBG)</CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#splitARGB(int)">splitARGB</A></B>(int argb)</CODE>
<BR>
Convert an ARGB int into it's component parts using bit-masking</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private java.util.ArrayList<<A HREF="Evolution.Drawable.html" title="class in <Unnamed>">Evolution.Drawable</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#spritesClicked(int, int)">spritesClicked</A></B>(int xMouse,
int yMouse)</CODE>
<BR>
Returns a list of all sprites (animals, plants, hazards) the user clicked on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#spritesOverlap(int, int, int, int, int, int)">spritesOverlap</A></B>(int x1,
int y1,
int x2,
int y2,
int xRange,
int yRange)</CODE>
<BR>
Calculate if two sprites overlap, based on their upper left corner.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="Evolution.html#writeBuffer(java.awt.image.BufferedImage)">writeBuffer</A></B>(java.awt.image.BufferedImage buff)</CODE>
<BR>
Writes out the screen to file system as a PNG</TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_javax.swing.JFrame"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.swing.JFrame</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update</CODE></TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.awt.Frame"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.awt.Frame</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated</CODE></TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.awt.Window</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront</CODE></TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.awt.MenuContainer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface java.awt.MenuContainer</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getFont, postEvent</CODE></TD>
</TR>
</TABLE>
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="serialVersionUID"><!-- --></A><H3>
serialVersionUID</H3>
<PRE>
private static final long <B>serialVersionUID</B></PRE>
<DL>
<DD>Serial version (just a GUID, really)
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#Evolution.serialVersionUID">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="spriteHeight"><!-- --></A><H3>
spriteHeight</H3>
<PRE>
private static final int <B>spriteHeight</B></PRE>
<DL>
<DD>height of sprites
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#Evolution.spriteHeight">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="spriteWidth"><!-- --></A><H3>
spriteWidth</H3>
<PRE>
private static final int <B>spriteWidth</B></PRE>
<DL>
<DD>width of sprites
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#Evolution.spriteWidth">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="background"><!-- --></A><H3>
background</H3>
<PRE>
private static final int <B>background</B></PRE>
<DL>
<DD>default background colour
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#Evolution.background">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="lineHeight"><!-- --></A><H3>
lineHeight</H3>
<PRE>
private static final int <B>lineHeight</B></PRE>
<DL>
<DD>height of text lines
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#Evolution.lineHeight">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="textOffset"><!-- --></A><H3>
textOffset</H3>
<PRE>
private static final int <B>textOffset</B></PRE>
<DL>
<DD>left offset of text lines
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="constant-values.html#Evolution.textOffset">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="title"><!-- --></A><H3>
title</H3>
<PRE>
public static java.lang.String <B>title</B></PRE>
<DL>
<DD>game title
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="speciesPath"><!-- --></A><H3>
speciesPath</H3>
<PRE>
public static java.lang.String <B>speciesPath</B></PRE>
<DL>
<DD>path to species definitions, using ResourceBundle naming (ie: "species\hunters\canines\" would be "species.hunters.canines.")
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="hazardsFile"><!-- --></A><H3>
hazardsFile</H3>
<PRE>
public static java.lang.String <B>hazardsFile</B></PRE>
<DL>
<DD>path to hazards initialization file, which defines what hazards should be loaded where
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="backgroundFile"><!-- --></A><H3>
backgroundFile</H3>
<PRE>
public static java.lang.String <B>backgroundFile</B></PRE>
<DL>
<DD>path and filename of background image, using ResourceBundle naming (eg: "images\background\my.png" would be "images.background.my.jpg")
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="width"><!-- --></A><H3>
width</H3>
<PRE>
public static int <B>width</B></PRE>
<DL>
<DD>game width
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="height"><!-- --></A><H3>
height</H3>
<PRE>
public static int <B>height</B></PRE>
<DL>
<DD>game height (not height of the window!)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="titlebar"><!-- --></A><H3>
titlebar</H3>
<PRE>
public static int <B>titlebar</B></PRE>
<DL>
<DD>offset for size of window titlebar
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="gameSeed"><!-- --></A><H3>
gameSeed</H3>
<PRE>
public static int <B>gameSeed</B></PRE>
<DL>
<DD>seed to use for initializing randomizer
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="randomGen"><!-- --></A><H3>
randomGen</H3>
<PRE>
public static java.util.Random <B>randomGen</B></PRE>
<DL>
<DD>random number generator (will be seeded with gameSeed)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="initialSpeciesLoad"><!-- --></A><H3>
initialSpeciesLoad</H3>
<PRE>
public static java.lang.String <B>initialSpeciesLoad</B></PRE>
<DL>
<DD>list of species to load in the initial spawn
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="initialHazardsLoad"><!-- --></A><H3>
initialHazardsLoad</H3>
<PRE>
public static java.lang.String <B>initialHazardsLoad</B></PRE>
<DL>
<DD>list of hazards to load in the initial spawn (eg: Mud:50)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="baseLife"><!-- --></A><H3>
baseLife</H3>
<PRE>
public static int <B>baseLife</B></PRE>
<DL>
<DD>starting life for initial set of animals
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="speedLimit"><!-- --></A><H3>
speedLimit</H3>
<PRE>
public static int <B>speedLimit</B></PRE>
<DL>
<DD>limit for the movement speed of animals
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="sightLimit"><!-- --></A><H3>
sightLimit</H3>
<PRE>
public static int <B>sightLimit</B></PRE>
<DL>
<DD>limit for the sight of animals
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="spawnChildrenLimit"><!-- --></A><H3>
spawnChildrenLimit</H3>
<PRE>
public static int <B>spawnChildrenLimit</B></PRE>
<DL>
<DD>limit for the number of children that can be spawned at once
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="initialPlants"><!-- --></A><H3>
initialPlants</H3>
<PRE>
public static int <B>initialPlants</B></PRE>
<DL>
<DD>initial number of plants to spawn
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="plantSpawnRate"><!-- --></A><H3>
plantSpawnRate</H3>
<PRE>
public static int <B>plantSpawnRate</B></PRE>
<DL>
<DD>rate at which plants spawn
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="killRange"><!-- --></A><H3>
killRange</H3>
<PRE>
public static int <B>killRange</B></PRE>
<DL>
<DD>range at which animals can kill each other
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="livingCost"><!-- --></A><H3>
livingCost</H3>
<PRE>
public static double <B>livingCost</B></PRE>
<DL>
<DD>cost of living one turn
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="movingCost"><!-- --></A><H3>
movingCost</H3>
<PRE>
public static double <B>movingCost</B></PRE>
<DL>
<DD>cost of moving one pixel
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="allowStandoffs"><!-- --></A><H3>
allowStandoffs</H3>
<PRE>
public static boolean <B>allowStandoffs</B></PRE>
<DL>
<DD>allow standoffs when both friends and enemies are greater than 3?
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="sleepTime"><!-- --></A><H3>
sleepTime</H3>
<PRE>
public static int <B>sleepTime</B></PRE>
<DL>
<DD>interval that the main thread sleeps for during iterations
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="reportCycles"><!-- --></A><H3>
reportCycles</H3>
<PRE>
public static int <B>reportCycles</B></PRE>
<DL>
<DD>number of loops between reporting intervals (0 or negative means no reporting, 1 is continuous reporting)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="headless"><!-- --></A><H3>
headless</H3>
<PRE>
public static boolean <B>headless</B></PRE>
<DL>
<DD>whether the app should run in headless mode (can also be set by adding "headless" as a commandline switch)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="tournamentMode"><!-- --></A><H3>
tournamentMode</H3>
<PRE>
public static boolean <B>tournamentMode</B></PRE>
<DL>
<DD>tournament mode flag, indicates that the tournament settings should be honoured
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="tournamentOneWinner"><!-- --></A><H3>
tournamentOneWinner</H3>
<PRE>
public static boolean <B>tournamentOneWinner</B></PRE>
<DL>
<DD>tournament mode, stop when only one species remains (regardless of how it may have evolved.)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="tournamentCycles"><!-- --></A><H3>
tournamentCycles</H3>
<PRE>
public static long <B>tournamentCycles</B></PRE>
<DL>
<DD>tournament mode, stop when a specific number of cycles have passed
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="tournamentTimeout"><!-- --></A><H3>
tournamentTimeout</H3>
<PRE>
public static long <B>tournamentTimeout</B></PRE>
<DL>
<DD>tournament mode, stop when a given amount of time (in milliseconds) has passed
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="tournamentFinalScreenshot"><!-- --></A><H3>
tournamentFinalScreenshot</H3>
<PRE>
public static boolean <B>tournamentFinalScreenshot</B></PRE>
<DL>
<DD>tournament mode, whether to take a screenshot when the tournament ends
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="growthLimit"><!-- --></A><H3>
growthLimit</H3>
<PRE>
public static double <B>growthLimit</B></PRE>
<DL>
<DD>limit to how fast plants can grow or die
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="basePlantLife"><!-- --></A><H3>
basePlantLife</H3>
<PRE>
public static int <B>basePlantLife</B></PRE>
<DL>
<DD>starting life for all plants
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="animalLimit"><!-- --></A><H3>
animalLimit</H3>
<PRE>
public static int <B>animalLimit</B></PRE>
<DL>
<DD>limit to the number of animals
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="screenshotDirectory"><!-- --></A><H3>
screenshotDirectory</H3>
<PRE>
public static java.lang.String <B>screenshotDirectory</B></PRE>
<DL>
<DD>directory in which to put screenshots
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="screenshotInterval"><!-- --></A><H3>
screenshotInterval</H3>
<PRE>
public static int <B>screenshotInterval</B></PRE>
<DL>
<DD>iteration to automatically take screenshots
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="lastScreenshotNum"><!-- --></A><H3>
lastScreenshotNum</H3>
<PRE>
public static long <B>lastScreenshotNum</B></PRE>
<DL>
<DD>counter for screenshots
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="screenshotType"><!-- --></A><H3>
screenshotType</H3>
<PRE>
public static java.lang.String <B>screenshotType</B></PRE>
<DL>
<DD>image type for screenshots
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="screenshotCompressionRatio"><!-- --></A><H3>
screenshotCompressionRatio</H3>
<PRE>
public static float <B>screenshotCompressionRatio</B></PRE>
<DL>
<DD>image compression ratio for screenshots
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="killRulesLifeBased"><!-- --></A><H3>
killRulesLifeBased</H3>
<PRE>
public static boolean <B>killRulesLifeBased</B></PRE>
<DL>
<DD>flag to indicate if Life-based kill rules should be applied
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="killRulesLifeThreshold"><!-- --></A><H3>
killRulesLifeThreshold</H3>
<PRE>
public static int <B>killRulesLifeThreshold</B></PRE>
<DL>
<DD>threshold which, when passed by difference between enemy and friend Life totals, indicates the animal is killed
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="keys"><!-- --></A><H3>
keys</H3>
<PRE>
private static boolean[] <B>keys</B></PRE>
<DL>
<DD>array of keys (to detect which ones are currently being held
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="xMouse"><!-- --></A><H3>
xMouse</H3>
<PRE>
private static int <B>xMouse</B></PRE>
<DL>
<DD>mouse flags: X Coord, Y Coord,
and what mouse button is currently being held
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="yMouse"><!-- --></A><H3>
yMouse</H3>
<PRE>
private static int <B>yMouse</B></PRE>
<DL>
<DD>mouse flags: X Coord, Y Coord,
and what mouse button is currently being held
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="mouseButton"><!-- --></A><H3>
mouseButton</H3>
<PRE>
private static int <B>mouseButton</B></PRE>
<DL>
<DD>mouse flags: X Coord, Y Coord,
and what mouse button is currently being held
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="bundles"><!-- --></A><H3>
bundles</H3>
<PRE>
private static java.util.Hashtable<java.lang.String,java.util.PropertyResourceBundle> <B>bundles</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="frame"><!-- --></A><H3>
frame</H3>
<PRE>
private static <A HREF="Evolution.html" title="class in <Unnamed>">Evolution</A> <B>frame</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="buff"><!-- --></A><H3>
buff</H3>
<PRE>
private static java.awt.image.BufferedImage <B>buff</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="buffBG"><!-- --></A><H3>
buffBG</H3>
<PRE>
private static java.awt.image.BufferedImage <B>buffBG</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="gr"><!-- --></A><H3>
gr</H3>
<PRE>
private static java.awt.Graphics <B>gr</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lastPaintTime"><!-- --></A><H3>
lastPaintTime</H3>
<PRE>
private static long <B>lastPaintTime</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="currentFrame"><!-- --></A><H3>
currentFrame</H3>
<PRE>
private static long <B>currentFrame</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lastScreenshotFrame"><!-- --></A><H3>
lastScreenshotFrame</H3>
<PRE>
private static long <B>lastScreenshotFrame</B></PRE>
<DL>
<DD>pointer to the last frame used in a screenshot
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="animals"><!-- --></A><H3>
animals</H3>
<PRE>
private static java.util.ArrayList<<A HREF="Evolution.Animal.html" title="class in <Unnamed>">Evolution.Animal</A>> <B>animals</B></PRE>
<DL>
<DD>List of all active animals
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="plants"><!-- --></A><H3>
plants</H3>
<PRE>
private static java.util.ArrayList<<A HREF="Evolution.Plant.html" title="class in <Unnamed>">Evolution.Plant</A>> <B>plants</B></PRE>
<DL>
<DD>List of all active plants
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="hazards"><!-- --></A><H3>
hazards</H3>
<PRE>
private static java.util.ArrayList<<A HREF="Evolution.Hazard.html" title="class in <Unnamed>">Evolution.Hazard</A>> <B>hazards</B></PRE>
<DL>
<DD>List of all active non-life objects
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="clicked"><!-- --></A><H3>
clicked</H3>
<PRE>
private static java.util.ArrayList<<A HREF="Evolution.Drawable.html" title="class in <Unnamed>">Evolution.Drawable</A>> <B>clicked</B></PRE>
<DL>
<DD>List of all animals the user left-clicked on
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="droppedPlants"><!-- --></A><H3>
droppedPlants</H3>
<PRE>
private static java.util.Vector<<A HREF="Evolution.Plant.html" title="class in <Unnamed>">Evolution.Plant</A>> <B>droppedPlants</B></PRE>
<DL>
<DD>List of all plants dropped during this iteration
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="droppedHazards"><!-- --></A><H3>
droppedHazards</H3>
<PRE>
private static java.util.Vector<<A HREF="Evolution.Hazard.html" title="class in <Unnamed>">Evolution.Hazard</A>> <B>droppedHazards</B></PRE>
<DL>
<DD>List of all hazards dropped during this iteration
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="speciesStats"><!-- --></A><H3>
speciesStats</H3>
<PRE>
private static java.util.Hashtable<java.lang.String,java.util.Hashtable<<A HREF="Evolution.StatisticType.html" title="enum in <Unnamed>">Evolution.StatisticType</A>,java.lang.Integer>> <B>speciesStats</B></PRE>
<DL>
<DD>Statistics
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="colours"><!-- --></A><H3>
colours</H3>
<PRE>
private static java.util.Hashtable<java.lang.String,java.lang.String> <B>colours</B></PRE>
<DL>
<DD>Cached list of colours
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="hazardSprites"><!-- --></A><H3>
hazardSprites</H3>
<PRE>
private static java.util.Hashtable<<A HREF="Evolution.HazardType.html" title="enum in <Unnamed>">Evolution.HazardType</A>,int[]> <B>hazardSprites</B></PRE>
<DL>
<DD>Cached list of sprites for NonLife objects
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="pixels"><!-- --></A><H3>
pixels</H3>
<PRE>
private static int[] <B>pixels</B></PRE>
<DL>
<DD>array of the screen pixels (ie: the game board)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="backgroundPixels"><!-- --></A><H3>
backgroundPixels</H3>
<PRE>
private static int[] <B>backgroundPixels</B></PRE>
<DL>
<DD>array of the pixels used as a background
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="backgroundImagePixels"><!-- --></A><H3>
backgroundImagePixels</H3>
<PRE>
private static int[] <B>backgroundImagePixels</B></PRE>
<DL>
<DD>array of the pixels loaded as the original background
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="paused"><!-- --></A><H3>
paused</H3>
<PRE>
private static boolean <B>paused</B></PRE>
<DL>
<DD>flag to indicate if the game is currently paused
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="escape"><!-- --></A><H3>
escape</H3>
<PRE>
private static boolean <B>escape</B></PRE>
<DL>
<DD>flag to indicate if the escape button has been pushed (ie: exit flag)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="doPaint"><!-- --></A><H3>
doPaint</H3>
<PRE>
private static boolean <B>doPaint</B></PRE>
<DL>
<DD>flag to indicate if the screen should be painted,
no reason to paint the screen if nothing is changing
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="showClicked"><!-- --></A><H3>
showClicked</H3>
<PRE>
private static boolean <B>showClicked</B></PRE>
<DL>
<DD>flag to indicate if the details of the animals the user
clicked-on should be displayed to the screen; if false then
the game board should be displayed.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="moveUp"><!-- --></A><H3>
moveUp</H3>
<PRE>
private static boolean <B>moveUp</B></PRE>
<DL>
<DD>flag to indicate if Animal Details screen should move up one
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="moveDown"><!-- --></A><H3>
moveDown</H3>
<PRE>
private static boolean <B>moveDown</B></PRE>
<DL>
<DD>flag to indicate if Animal Details screen should move down one
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="doWipe"><!-- --></A><H3>
doWipe</H3>
<PRE>
private static boolean <B>doWipe</B></PRE>
<DL>
<DD>flag to indicate if the sprites should be wiped (undrawn) when they move or die
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="doResize"><!-- --></A><H3>
doResize</H3>
<PRE>
private static boolean <B>doResize</B></PRE>
<DL>
<DD>flag to indicate if the frame was resized since the last draw
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="killCurrent"><!-- --></A><H3>
killCurrent</H3>
<PRE>
private static boolean <B>killCurrent</B></PRE>
<DL>
<DD>flag to indicate if the currently selected object should be killed
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Evolution(java.lang.String)"><!-- --></A><H3>
Evolution</H3>
<PRE>
public <B>Evolution</B>(java.lang.String str)</PRE>
<DL>
<DD>Constructor
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>str</CODE> - </DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="showStats(java.awt.Graphics, java.awt.image.BufferedImage)"><!-- --></A><H3>
showStats</H3>
<PRE>
private static void <B>showStats</B>(java.awt.Graphics gr,
java.awt.image.BufferedImage buffBG)
throws java.lang.InterruptedException</PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.InterruptedException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getRand()"><!-- --></A><H3>
getRand</H3>
<PRE>
private static double <B>getRand</B>()</PRE>
<DL>
<DD>Generates a random number between -1 and 1
<P>
<DD><DL>
<DT><B>Returns:</B><DD>double between -1.0 and 1.0</DL>
</DD>
</DL>
<HR>
<A NAME="deltaPosition(double, double)"><!-- --></A><H3>
deltaPosition</H3>
<PRE>
private static double[] <B>deltaPosition</B>(double distance,
double direction)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="limitRange(long, int, int)"><!-- --></A><H3>
limitRange</H3>
<PRE>
private int <B>limitRange</B>(long value,
int lower,
int upper)</PRE>
<DL>
<DD>Extremity check integer values to bounds
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - <DD><CODE>lower</CODE> - <DD><CODE>upper</CODE> -
<DT><B>Returns:</B><DD>int Value within given bounds</DL>
</DD>
</DL>
<HR>
<A NAME="limitRange(double, double, double)"><!-- --></A><H3>
limitRange</H3>
<PRE>
private double <B>limitRange</B>(double value,
double lower,
double upper)</PRE>
<DL>
<DD>Extremity check integer values to bounds
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - <DD><CODE>lower</CODE> - <DD><CODE>upper</CODE> -
<DT><B>Returns:</B><DD>double Value within given bounds</DL>
</DD>
</DL>
<HR>
<A NAME="getARGB(int, int, int, int)"><!-- --></A><H3>
getARGB</H3>
<PRE>
private static int <B>getARGB</B>(int a,
int r,
int g,
int b)</PRE>
<DL>
<DD>Convert colour elements to an ARGB value using bit-shifting.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - <DD><CODE>r</CODE> - <DD><CODE>g</CODE> - <DD><CODE>b</CODE> -
<DT><B>Returns:</B><DD>ARGB as an INT</DL>
</DD>
</DL>
<HR>
<A NAME="splitARGB(int)"><!-- --></A><H3>
splitARGB</H3>
<PRE>
private int[] <B>splitARGB</B>(int argb)</PRE>
<DL>
<DD>Convert an ARGB int into it's component parts using bit-masking
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>argb</CODE> -
<DT><B>Returns:</B><DD>4 element</DL>
</DD>
</DL>
<HR>
<A NAME="spritesOverlap(int, int, int, int, int, int)"><!-- --></A><H3>
spritesOverlap</H3>
<PRE>
private boolean <B>spritesOverlap</B>(int x1,
int y1,
int x2,
int y2,
int xRange,
int yRange)</PRE>
<DL>
<DD>Calculate if two sprites overlap, based on their upper left corner.
Relies partially on the fact that all sprites are the same size.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>x1</CODE> - <DD><CODE>y1</CODE> - <DD><CODE>x2</CODE> - <DD><CODE>y2</CODE> - <DD><CODE>xRange</CODE> - Extra distance to scan (beyond sprite perimeter)<DD><CODE>yRange</CODE> -
<DT><B>Returns:</B><DD>boolean Whether or not they overlap</DL>
</DD>
</DL>
<HR>
<A NAME="spritesClicked(int, int)"><!-- --></A><H3>
spritesClicked</H3>
<PRE>
private java.util.ArrayList<<A HREF="Evolution.Drawable.html" title="class in <Unnamed>">Evolution.Drawable</A>> <B>spritesClicked</B>(int xMouse,
int yMouse)</PRE>
<DL>
<DD>Returns a list of all sprites (animals, plants, hazards) the user clicked on.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xMouse</CODE> - <DD><CODE>yMouse</CODE> -
<DT><B>Returns:</B><DD>ArrayList List of sprites</DL>
</DD>
</DL>
<HR>
<A NAME="processEvent(java.awt.AWTEvent)"><!-- --></A><H3>
processEvent</H3>
<PRE>
public void <B>processEvent</B>(java.awt.AWTEvent e)</PRE>
<DL>
<DD>Process input events to the JFrame.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>processEvent</CODE> in class <CODE>java.awt.Window</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="processMouseClick()"><!-- --></A><H3>
processMouseClick</H3>
<PRE>
private void <B>processMouseClick</B>()</PRE>
<DL>
<DD>Handles mouse clicks, either adding sprites to a list of items to be displayed,
or resetting the flag to indicate that the click results window should be hidden.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="processKeyPress()"><!-- --></A><H3>
processKeyPress</H3>
<PRE>
private void <B>processKeyPress</B>()</PRE>
<DL>
<DD>Handles key presses, by initiating actions for any keys that are currently "down" (pressed)
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="dropHazard(int)"><!-- --></A><H3>
dropHazard</H3>
<PRE>
private static void <B>dropHazard</B>(int index)</PRE>
<DL>
<DD>Drops a hazard at the current mouse location
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - of the hazard in the HazardType enumeration</DL>
</DD>
</DL>
<HR>
<A NAME="dropPointX()"><!-- --></A><H3>
dropPointX</H3>
<PRE>
private static int <B>dropPointX</B>()</PRE>
<DL>
<DD>Calculates the x-coord of the drop point on the playing field, based on the mouse position
<P>
<DD><DL>
<DT><B>Returns:</B><DD>int, x-coord on the playing field</DL>
</DD>
</DL>
<HR>
<A NAME="dropPointY()"><!-- --></A><H3>
dropPointY</H3>
<PRE>
private static int <B>dropPointY</B>()</PRE>
<DL>
<DD>Calculates the y-coord of the drop point on the playing field, based on the mouse position
<P>
<DD><DL>
<DT><B>Returns:</B><DD>int, y-coord on the playing field</DL>
</DD>
</DL>
<HR>
<A NAME="paint(java.awt.image.BufferedImage, java.awt.Graphics)"><!-- --></A><H3>
paint</H3>
<PRE>
private static void <B>paint</B>(java.awt.image.BufferedImage buff,
java.awt.Graphics gr)</PRE>
<DL>
<DD>I split this method out to keep it generic. Just paints the buffer to the window.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buff</CODE> - Buffer to draw<DD><CODE>gr</CODE> - Graphics object to draw on</DL>
</DD>
</DL>
<HR>
<A NAME="remapPixels()"><!-- --></A><H3>
remapPixels</H3>
<PRE>
private static void <B>remapPixels</B>()</PRE>
<DL>
<DD>Remaps pixels back to the background pixels buffer, then redraws all
non-background sprites to the buffer. Basically, redraws the full image,
by drawing the background layer and then all upper layers over-top.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="resizePixels()"><!-- --></A><H3>
resizePixels</H3>
<PRE>
private static void <B>resizePixels</B>()</PRE>
<DL>
<DD>Resizes the window and playing field, moves all off-screen sprites so they fit
into the new dimensions, and remaps the sprites into the resized buffers.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setUpBuffers()"><!-- --></A><H3>
setUpBuffers</H3>
<PRE>
private static void <B>setUpBuffers</B>()</PRE>
<DL>
<DD>Set up the buffers, using the window size information and the background image
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="loadSpecs(java.lang.Object, java.lang.String)"><!-- --></A><H3>
loadSpecs</H3>
<PRE>
private static boolean <B>loadSpecs</B>(java.lang.Object a,
java.lang.String type)</PRE>
<DL>
<DD>Convenience method to load specs with no prefix
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - Object to be configured using the specs<DD><CODE>type</CODE> - Type of specs to be loaded
<DT><B>Returns:</B><DD>boolean Success or Failure</DL>
</DD>
</DL>
<HR>
<A NAME="loadSpecs(java.lang.Object, java.lang.String, java.lang.String)"><!-- --></A><H3>
loadSpecs</H3>
<PRE>
private static boolean <B>loadSpecs</B>(java.lang.Object a,
java.lang.String type,
java.lang.String prefix)</PRE>
<DL>
<DD>Load specs for a given type, using the specified prefix
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - Object to be configured using the specs<DD><CODE>type</CODE> - Type of specs to be loaded<DD><CODE>prefix</CODE> - Prefix to apply in front of the type when searching for the specs
<DT><B>Returns:</B><DD>boolean Success or Failure</DL>
</DD>
</DL>
<HR>
<A NAME="parseIntArray(java.lang.String)"><!-- --></A><H3>
parseIntArray</H3>
<PRE>
private static int[] <B>parseIntArray</B>(java.lang.String array)</PRE>
<DL>
<DD>Parse a comma delimited string into an integer array
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>array</CODE> - Comma delimited string
<DT><B>Returns:</B><DD>int[] Array of ints</DL>
</DD>
</DL>
<HR>
<A NAME="parseActionArray(java.lang.String)"><!-- --></A><H3>
parseActionArray</H3>
<PRE>
private static <A HREF="Evolution.Action.html" title="enum in <Unnamed>">Evolution.Action</A>[] <B>parseActionArray</B>(java.lang.String array)</PRE>
<DL>
<DD>Parse a comma delimited string into an Action array
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>array</CODE> - Comma delimited string
<DT><B>Returns:</B><DD>Action[] Array of Actions</DL>
</DD>
</DL>
<HR>
<A NAME="loadColours()"><!-- --></A><H3>
loadColours</H3>
<PRE>
private static void <B>loadColours</B>()</PRE>
<DL>
<DD>Load the hash of named colours from the Colours resource bundle
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="loadHazards()"><!-- --></A><H3>
loadHazards</H3>
<PRE>
private static void <B>loadHazards</B>()</PRE>
<DL>
<DD>Load the hazards from the Hazards initialisation file
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="doInitialSpawn()"><!-- --></A><H3>
doInitialSpawn</H3>
<PRE>
private static void <B>doInitialSpawn</B>()</PRE>
<DL>
<DD>Spawn up the initial set of animals
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="doInitialHazards()"><!-- --></A><H3>
doInitialHazards</H3>
<PRE>
private static void <B>doInitialHazards</B>()</PRE>
<DL>
<DD>Load up the inital set of hazards.
These can be specified in the main properties file, or the hazards init file.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="adjustStat(java.lang.String, Evolution.StatisticType, int)"><!-- --></A><H3>
adjustStat</H3>
<PRE>
private static void <B>adjustStat</B>(java.lang.String species,
<A HREF="Evolution.StatisticType.html" title="enum in <Unnamed>">Evolution.StatisticType</A> stat,
int value)</PRE>
<DL>
<DD>Adjust a statistic against a given species
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>species</CODE> - Species affected<DD><CODE>stat</CODE> - Statistic to update<DD><CODE>value</CODE> - Amount to modify the stat by</DL>
</DD>
</DL>
<HR>
<A NAME="activeSpecies()"><!-- --></A><H3>
activeSpecies</H3>
<PRE>
private static int <B>activeSpecies</B>()</PRE>
<DL>
<DD>A simple method to count the number of species that have at least one living member.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>int, number of distinct species alive</DL>
</DD>
</DL>
<HR>
<A NAME="printStats(double)"><!-- --></A><H3>
printStats</H3>
<PRE>
private static void <B>printStats</B>(double fps)</PRE>
<DL>
<DD>Print the statistics to the standard output.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fps</CODE> - Frames per second, which is calculated as part of the calling method</DL>
</DD>
</DL>
<HR>
<A NAME="loadHazardSprites()"><!-- --></A><H3>
loadHazardSprites</H3>
<PRE>
private static void <B>loadHazardSprites</B>()</PRE>
<DL>
<DD>Load the sprites for the various Hazard Types.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="writeBuffer(java.awt.image.BufferedImage)"><!-- --></A><H3>
writeBuffer</H3>
<PRE>
private static void <B>writeBuffer</B>(java.awt.image.BufferedImage buff)</PRE>
<DL>
<DD>Writes out the screen to file system as a PNG
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buff</CODE> - The screen buffer to write</DL>
</DD>
</DL>
<HR>
<A NAME="drawSplash()"><!-- --></A><H3>
drawSplash</H3>
<PRE>
private static void <B>drawSplash</B>()</PRE>
<DL>
<DD>Draws the splash screen, with the menu of commands.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(java.lang.String[] args)
throws java.lang.Throwable</PRE>
<DL>
<DD>Main code block.
Commandline args are all optional:
- 0: primary game specs (default: evolution.properties)
- 1: headless mode indicator (must include word "headless")
- 2: game seed, seeds random number generator (allows for exact replays)
- 3: path to hazards file
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>args</CODE> -
<DT><B>Throws:</B>
<DD><CODE>java.lang.Throwable</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Evolution.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
PREV CLASS
<A HREF="Evolution.Action.html" title="enum in <Unnamed>"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?Evolution.html" target="_top"><B>FRAMES</B></A>
<A HREF="Evolution.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>