Class World

java.lang.Object
  |
  +--World
All Implemented Interfaces:
java.io.Serializable

public class World
extends java.lang.Object
implements java.io.Serializable

Die allesumfassende Welt.

See Also:
Serialized Form

Field Summary
private static java.util.Vector agents
          Die Liste aller lebenden Agenten.
private static Agent agentTreeRoot
           
static java.applet.AudioClip birthSound
           
static java.lang.String configFile
          enthält Pfad und Namen der Konfigurationsdatei (oder null wenn die Defaultdatei: props.config geladen wird).
private static java.awt.Point cursorPosition
           
static java.applet.AudioClip deathSound
           
static boolean debug
           
static java.lang.String decimal
           
private static boolean editMode
           
static Field[][] fields
          Ein rechteckiges Array mit den Feldern.
static java.lang.String loadFile
           
static int maxRound
           
static java.util.Properties props
          Alle Properties des Programms; mit Defaultwerten belegt, die von einer Textdatei ueberschreiben werden koennen.
static java.util.Random random
           
static int round
           
static boolean runFile
           
static boolean silent
           
static boolean sound
           
static WorldView worldView
           
 
Constructor Summary
World(java.lang.String fileName)
          Der Konstruktor setzt u.a. die Defaults und aktuellen Werte der Properties props
 
Method Summary
static void addAgent(Agent a)
           
private  void agentsInit()
           
static int correctX(int x)
           
static int correctY(int y)
           
static int distance(int x0, int y0, int x1, int y1)
           
private  void fieldsInit()
           
static Agent getAgent(java.lang.String name)
           
static java.util.Vector getAgentsClone()
           
static javax.swing.tree.TreeNode getAgentTreeRoot()
           
static boolean getBoolean(java.lang.String s)
           
static java.util.Vector getCoordinatesInDistance(int x, int y, int d)
           
static java.awt.Polygon getCoordinatorPolygon(int x, int y, int width, int height)
           
static java.awt.Point getCursorPosition()
          Liefert die aktuelle Position des EditierCursors.
static boolean getEditMode()
          Sagt ob gerade editiert werden kann oder nicht.
static Field getField(int x, int y)
          Liefert zu den Koordinaten das passende Field.
static float getFloat(java.lang.String s)
           
static java.awt.Point getFreeField(int x, int y)
           
static int getInt(java.lang.String s)
          Liefert die angegebene Property als int zurück.
static java.lang.String getProp(java.lang.String key)
           
static java.util.Vector getRandomizedCoordinatesInDistance(int x, int y, int d)
           
static java.awt.Polygon getSubordinatePolygon(int x, int y, int width, int height)
           
static void initAgentTreeRoot()
           
static void initAudioClips()
           
static float mutate(float min, float max, float value, float width)
          Die erste Mutationsfunktion, die eine starke Tendenz zur Mitte der beiden biologischen Grenzen hat.
static float mutate2(float min, float max, float value, float width)
           
static void printProps()
          Druckt die aktuellen Properties auf die Standardausgabe.
private  void readObject(java.io.ObjectInputStream objIn)
          Erweitert das standard read um das Laden der Klassen-Variablen
static void removeAgent(Agent a)
           
static void setCursorPosition(java.awt.Point p)
          Setzt den FeldEditierCursor auf die neue Position.
static void setEditMode(boolean em)
          Setzt den editMode.
static void setInt(java.lang.String key, int value)
           
static void setProp(java.lang.String key, java.lang.String value)
           
private  void setProps(java.lang.String fileName)
          Initialisiert die props mit Defaultwerten.
static void setStatusLine(java.lang.String text)
           
static void setStatusLine(java.lang.StringBuffer text)
           
static java.awt.Point torusDirection(int x0, int y0, int x1, int y1)
           
private  void writeObject(java.io.ObjectOutputStream objOut)
          Erweitert das standard write um das Speichern der Klassen-Variablen
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

editMode

private static boolean editMode

cursorPosition

private static java.awt.Point cursorPosition

worldView

public static WorldView worldView

round

public static int round

maxRound

public static int maxRound

configFile

public static java.lang.String configFile
enthält Pfad und Namen der Konfigurationsdatei (oder null wenn die Defaultdatei: props.config geladen wird).

loadFile

public static java.lang.String loadFile

runFile

public static boolean runFile

sound

public static boolean sound

debug

public static boolean debug

silent

public static boolean silent

decimal

public static java.lang.String decimal

agentTreeRoot

private static Agent agentTreeRoot

birthSound

public static java.applet.AudioClip birthSound

deathSound

public static java.applet.AudioClip deathSound

random

public static java.util.Random random

props

public static java.util.Properties props
Alle Properties des Programms; mit Defaultwerten belegt, die von einer Textdatei ueberschreiben werden koennen.

agents

private static java.util.Vector agents
Die Liste aller lebenden Agenten.

fields

public static Field[][] fields
Ein rechteckiges Array mit den Feldern.
Constructor Detail

World

public World(java.lang.String fileName)
Der Konstruktor setzt u.a. die Defaults und aktuellen Werte der Properties props
Method Detail

fieldsInit

private void fieldsInit()

agentsInit

private void agentsInit()

setProps

private void setProps(java.lang.String fileName)
Initialisiert die props mit Defaultwerten.

mutate

public static float mutate(float min,
                           float max,
                           float value,
                           float width)
Die erste Mutationsfunktion, die eine starke Tendenz zur Mitte der beiden biologischen Grenzen hat.

mutate2

public static float mutate2(float min,
                            float max,
                            float value,
                            float width)

initAudioClips

public static void initAudioClips()

getAgentsClone

public static java.util.Vector getAgentsClone()

initAgentTreeRoot

public static void initAgentTreeRoot()

getAgentTreeRoot

public static javax.swing.tree.TreeNode getAgentTreeRoot()

getAgent

public static Agent getAgent(java.lang.String name)

addAgent

public static void addAgent(Agent a)

removeAgent

public static void removeAgent(Agent a)

setEditMode

public static void setEditMode(boolean em)
Setzt den editMode.
Parameters:
em - true wenn editiert werden kann, false wenn eine Simulation läuft.

getEditMode

public static boolean getEditMode()
Sagt ob gerade editiert werden kann oder nicht.
Returns:
true falls die Welt editiert werden kann (Simulations-Pause), false falls kein Editieren möglich (Simualtion läuft)

setCursorPosition

public static void setCursorPosition(java.awt.Point p)
Setzt den FeldEditierCursor auf die neue Position. Kümmert sich nicht um eine Bildschirmaktualisierung.
Parameters:
p - die neue Cursor-Position.

getCursorPosition

public static java.awt.Point getCursorPosition()
Liefert die aktuelle Position des EditierCursors.
Returns:
die aktuelle Position.

torusDirection

public static java.awt.Point torusDirection(int x0,
                                            int y0,
                                            int x1,
                                            int y1)

distance

public static int distance(int x0,
                           int y0,
                           int x1,
                           int y1)

setStatusLine

public static void setStatusLine(java.lang.StringBuffer text)

setStatusLine

public static void setStatusLine(java.lang.String text)

getProp

public static java.lang.String getProp(java.lang.String key)

setProp

public static void setProp(java.lang.String key,
                           java.lang.String value)

setInt

public static void setInt(java.lang.String key,
                          int value)

getInt

public static int getInt(java.lang.String s)
Liefert die angegebene Property als int zurück. Wenn was schiefläuft gibts eine: NumberFormatException, die das Programm vorzeitig beendet.
Parameters:
s - Der Name der gewünschten Property
Returns:
der aktuelle Wert als int.

getFloat

public static float getFloat(java.lang.String s)

getBoolean

public static boolean getBoolean(java.lang.String s)

getField

public static Field getField(int x,
                             int y)
Liefert zu den Koordinaten das passende Field.
Parameters:
x - die x-Koordinate des gewünschten Feldes.
x - die x-Koordinate des gewünschten Feldes.
Returns:
das Field mit den angegebenen Koordinaten.

getCoordinatesInDistance

public static java.util.Vector getCoordinatesInDistance(int x,
                                                        int y,
                                                        int d)

getRandomizedCoordinatesInDistance

public static java.util.Vector getRandomizedCoordinatesInDistance(int x,
                                                                  int y,
                                                                  int d)

correctX

public static int correctX(int x)

correctY

public static int correctY(int y)

getFreeField

public static java.awt.Point getFreeField(int x,
                                          int y)

getCoordinatorPolygon

public static java.awt.Polygon getCoordinatorPolygon(int x,
                                                     int y,
                                                     int width,
                                                     int height)

getSubordinatePolygon

public static java.awt.Polygon getSubordinatePolygon(int x,
                                                     int y,
                                                     int width,
                                                     int height)

printProps

public static void printProps()
Druckt die aktuellen Properties auf die Standardausgabe.

writeObject

private void writeObject(java.io.ObjectOutputStream objOut)
                  throws java.io.IOException
Erweitert das standard write um das Speichern der Klassen-Variablen
Parameters:
aus - formalen Gründen...

readObject

private void readObject(java.io.ObjectInputStream objIn)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
Erweitert das standard read um das Laden der Klassen-Variablen
Parameters:
aus - formalen Gründen...