organisms
Class organisms

java.lang.Object
  |
  +--organisms.organisms
Direct Known Subclasses:
animals, plants

public abstract class organisms
extends java.lang.Object

H yperklash olwn twn organismwn. Einai abstract kai kathe allh klash kapoias kathgorias organismwn einai katw apo authn sthn ierarxia.

Invariant: Oloi oi organismoi exoun ana pasa stigmh age>=0, growth_rate>0 kai egkyro position panw ston xarth. Epishs, oloi oi zwntanoi organismoi exoun energy>0 enw an to energy ginei mikrotero h iso me to 0 tote o organismos pethainei. Telos, dyo zwntanoi organismoi den mporoun na exoun akrivws thn idia position panw ston xarth.

Pedia ths klashs: age: Hlikia organismou, energy: Energeia-megethos organismou, growth_rate: rythmos anaptykshs organismou (statheros gia kathe organismo), position: thesh organismou isChosen: an einai epilegmenos o organismos im: to eikonidio tou organismou

Statika pedia ths klashs: alive_organisms: Posoi organismoi einai zwntanoi, dead_organisms: Posoi organismoi exoun pethanei


Field Summary
protected  int age
           
protected static int alive_organisms
           
protected static int dead_organisms
           
protected  int energy
           
protected  int growth_rate
           
protected  javax.swing.ImageIcon im
           
protected  boolean isChosen
           
protected  Position.Position position
           
 
Constructor Summary
organisms()
          Constructor ths abstract klashs organisms.
 
Method Summary
 int age()
          Epistrefei thn hlikia tou organismou.
static int alive_organisms()
          Epistrefei ton arithmo twn zwntanwn organismwn.
 void choose(boolean c)
          Kathorizei an o organismos einai epilegmenos h oxi.
static int dead_organisms()
          Epistrefei ton arithmo twn nekrwn organismwn.
 void decrease_energy()
          Meiwnei kata growth_rate thn energeia tou organismou.
abstract  void die()
          Abstract methodos pou kaleitai otan pethainei enas organismos kai meiwnei to plhthos twn zwntanwn organismwn enw auksanei to plhthos twn nekrwn organismwn.
 void draw(java.awt.Graphics g, java.awt.Component c)
          Zwgrafizei tous organismous panw ston xarth sthn thesh -position- sthn opoia vriskontai kathe stigmh xrhsimopoiwntas to katallhlo eikonidio -im- gia kathe eidos organismou.
 int energy()
          Epistrefei thn energeia tou organismou.
 int growth_rate()
          Epistrefei ton rythmo anaptykshs tou organismou.
 void increase_age()
          Auksanei kata 1 thn hlikia tou organismou.
 void increase_energy()
          Auksanei kata growth_rate thn energeia tou organismou.
static void initStats()
          Arxikopoiei ta statistika se authn thn klash.
 boolean isAlive()
          Mas leei an o organismos einai zwntanos h nekros.
 Position.Position position()
          Epistrefei thn thesh tou organismou.
abstract  void restoreEnergy()
          Abstract methodos gia na ananewnoume katallhla thn energeia enos organismou.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alive_organisms

protected static int alive_organisms

dead_organisms

protected static int dead_organisms

age

protected int age

energy

protected int energy

growth_rate

protected int growth_rate

position

protected Position.Position position

isChosen

protected boolean isChosen

im

protected javax.swing.ImageIcon im
Constructor Detail

organisms

public organisms()
Constructor ths abstract klashs organisms. Kaleitai apo tous apogonous auths ths klashs. Kanei tis katallhles arxikopohseis kai auksanei tous synolikous zwntanous organismous kata 1.

Postcondition: Dhmiourgeitai enas neos organismos opoioudhpote typou me age=0 kai auksanetai kata 1 to alive_organisms.

Method Detail

draw

public void draw(java.awt.Graphics g,
                 java.awt.Component c)
Zwgrafizei tous organismous panw ston xarth sthn thesh -position- sthn opoia vriskontai kathe stigmh xrhsimopoiwntas to katallhlo eikonidio -im- gia kathe eidos organismou. Accesor - Selector Kaleitai kata thn diarkeia ths proswmoiwshs kathe mera.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Emfanizei ston xarth ton sygkekrimeno organismo apo ton opoio kalesthke auth h methodos sthn thesh -position- pou autos vrisketai. An o organismos einai epilegmenos emfanizei kai ena plaisio gurw apo auton.


isAlive

public boolean isAlive()
Mas leei an o organismos einai zwntanos h nekros. Accesor - Observer.

Postcondition: Epistrefei true an o organismos einai zwntanos alliws false.

Returns:
true an o organismos einai zwntanos, alliws false an einai nekros.

age

public int age()
Epistrefei thn hlikia tou organismou. Accesor - Selector.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Epistrefei thn hlikia tou organismou.

Returns:
thn hlikia tou organismou.

energy

public int energy()
Epistrefei thn energeia tou organismou. Accesor - Selector.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Epistrefei thn energeia tou organismou.

Returns:
thn energeia tou organismou.

growth_rate

public int growth_rate()
Epistrefei ton rythmo anaptykshs tou organismou. Accesor - Selector.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Epistrefei ton rythmo anaptykshs tou organismou.

Returns:
ton rythmo anaptykshs tou organismou.

position

public Position.Position position()
Epistrefei thn thesh tou organismou. Accesor - Selector.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Epistrefei thn thesh tou organismou.

Returns:
thn thesh tou organismou.

alive_organisms

public static int alive_organisms()
Epistrefei ton arithmo twn zwntanwn organismwn. Accesor - Selector.

Postcondition: Epistrefei ton arithmo twn zwntanwn organismwn.

Returns:
ton arithmo twn zwntanwn organismwn.

dead_organisms

public static int dead_organisms()
Epistrefei ton arithmo twn nekrwn organismwn. Accesor - Selector.

Postcondition: Epistrefei ton arithmo twn nekrwn organismwn.

Returns:
ton arithmo twn nekrwn organismwn.

increase_age

public void increase_age()
Auksanei kata 1 thn hlikia tou organismou. Transformer - Mutative. Kaleitai kata thn diarkeia ths proswmoiwshs kathe evdomada.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Auksanei kata 1 thn hlikia tou organismou.


increase_energy

public void increase_energy()
Auksanei kata growth_rate thn energeia tou organismou. Transformer - Mutative.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Auksanei kata growth_rate thn energeia tou organismou.


decrease_energy

public void decrease_energy()
Meiwnei kata growth_rate thn energeia tou organismou. Transformer - Mutative.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Meiwnei kata growth_rate thn energeia tou organismou.


restoreEnergy

public abstract void restoreEnergy()
Abstract methodos gia na ananewnoume katallhla thn energeia enos organismou. H energeia enos organismou ginetai this.increase_energy() h this.decrease_energy() analoga me ton organismo (to eidos tou organismou kai ton sygkekrimeno organismo) Transformer - Mutative. Ylopoieitai apo tis ypoklaseis ths organisms. Kaleitai kata thn diarkeia ths proswmoiwshs kathe evdomada.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Ananewnei katallhla thn energeia tou organismou.


die

public abstract void die()
Abstract methodos pou kaleitai otan pethainei enas organismos kai meiwnei to plhthos twn zwntanwn organismwn enw auksanei to plhthos twn nekrwn organismwn. Transformer - Mutative. Prepei ypoxrewtika na ylopoieitai apo oles tis final klaseis pou vriskontai katw apo thn organism sthn ierarxia. Prepei na kaleitai gia tou nekrous organismous kata thn diarkeia ths proswmoiwshs kathe mera.

Precondition: O organismos prepei na exei pethanei, dhladh !this.isAlive().

Postcondition: Meiwnetai kata 1 to plhthos twn zwntanwn organismwn kai auksanetai kata 1 to plhthos twn nekrwn organismwn. (oi static metavlites olwn twn kathgoriwn pou anhkei o organismos pou pethainei)


choose

public void choose(boolean c)
Kathorizei an o organismos einai epilegmenos h oxi. Transformer - Mutative.

Precondition: O organismos prepei na einai zwntanos, dhladh this.isAlive().

Postcondition: Epilegei ton organismo an h c einai true, alliws o organismos den einai epilegmenos.

Parameters:
c - Elipegoume h oxi auton ton organismo.

initStats

public static void initStats()
Arxikopoiei ta statistika se authn thn klash. Transformer - Mutative.

Postcondition: Arxikopoiei ta statistika se authn thn klash.