org.dyndns.hentschel.openArena.application
Class RassenInfo

java.lang.Object
  |
  +--org.dyndns.hentschel.openArena.application.RassenInfo

public class RassenInfo
extends java.lang.Object

Rasseninfo beinhaltet die Informationen die sich auf die gesammte Rasse beziehen. Das sind zum Bespiel die Anzahl der Agenten und die Gesamtenergie. Weiterhin verwaltet RassenInfo noch die Dateiströme für die Log-Dateien der Agenten


Nested Class Summary
protected static class RassenInfo.CloseThread
          Dies ist der von MyFileStream benutzt Systemhook Er stellt sicher das noch nicht geschlossene Dateien vor dem Beendem der VM geschrieben und geschlossen werden.
protected static class RassenInfo.MyFileStream
          MyStream stellt einen FileStream dar, die Datei wird jedoch erst angelegt wenn auch etwas in den Stream geschrieben wurde.
 
Field Summary
private  int anzahl
          Anzahl der aktuelle Lebenden Agenten
private  java.lang.String base
          Basis Pfad für die Log-Dateien
private  double energie
          Energiemenge der lebenden Agenten
private static java.text.NumberFormat nf
          Hiermit wird die Nummer im Dateinamen formatiert.
private  int num
          Die Nummer die für den nächsten Agenten vergeben wird.
private  java.lang.String rasse
          Der Rassenname
 
Constructor Summary
RassenInfo(java.lang.String _rasse, java.lang.String _base)
          Erzeugt eine neue Rasseninfo für eine gegebene Rasse und gegebenen Basis-Pfad für die Log-Dateien
 
Method Summary
 void aendereAnzahl(double _diff)
          Ändere die Anzahl der lebenden Agenten um _diff
 void aendereEnergie(double _diff)
          Ändere die Energie der lebenden Agenten um _diff
 int getAnzahl()
          Liefert die Anzahl aller von dieser Rasse noch lebenden Agenten
 double getEnergie()
          Liefert die aktuelle Gesamtenergie aller von dieser Rasse noch lebenden Agenten
private  java.lang.String getNextName()
          Liefert den Namen für den nächsten Stream.
 java.io.PrintStream getNextOutputStream()
          Liefert den Stream für den nächsten Agenten zurück.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

num

private int num
Die Nummer die für den nächsten Agenten vergeben wird. Wird nur zur Dateinamensgenerierung benutzt.


rasse

private java.lang.String rasse
Der Rassenname


nf

private static java.text.NumberFormat nf
Hiermit wird die Nummer im Dateinamen formatiert.


anzahl

private int anzahl
Anzahl der aktuelle Lebenden Agenten


energie

private double energie
Energiemenge der lebenden Agenten


base

private java.lang.String base
Basis Pfad für die Log-Dateien

Constructor Detail

RassenInfo

public RassenInfo(java.lang.String _rasse,
                  java.lang.String _base)
Erzeugt eine neue Rasseninfo für eine gegebene Rasse und gegebenen Basis-Pfad für die Log-Dateien

Parameters:
_base - Basispfad für die Log-Dateien
_rasse - Rassenname
Method Detail

getNextOutputStream

public java.io.PrintStream getNextOutputStream()
Liefert den Stream für den nächsten Agenten zurück. Hier wird die Datei noch nicht angelegt. Das Anlegen der Datei geschieht erst nachdem der Agent eine Ausgabe gemacht hat.

Returns:
Den nächsten Stream

getNextName

private java.lang.String getNextName()
Liefert den Namen für den nächsten Stream. rasse+"_"+nummer der nächsten Agenten+".agentLog"

Returns:
Der Name des nächsten Streams

aendereAnzahl

public void aendereAnzahl(double _diff)
Ändere die Anzahl der lebenden Agenten um _diff

Parameters:
_diff - -1 ein Agent ist gestorben +2 2 Agenten sind neu

aendereEnergie

public void aendereEnergie(double _diff)
Ändere die Energie der lebenden Agenten um _diff

Parameters:
_diff - Die zuändernde Enegie

getEnergie

public double getEnergie()
Liefert die aktuelle Gesamtenergie aller von dieser Rasse noch lebenden Agenten

Returns:
Die Gesamtenergie dieser Rasse

getAnzahl

public int getAnzahl()
Liefert die Anzahl aller von dieser Rasse noch lebenden Agenten

Returns:
Die Anzahl der Agenten