organisms
Class animals

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

public abstract class animals
extends organisms

H klash animals einai yperklash olwn twn zwwn kai ypoklash ths organisms. Einai abstract kai kathe klash kapoiou zwou einai katw apo authn sthn ierarxia.

Invariant: Prepei na thrountai oles oi invariant synthikes ths klashs organisms. Dhladh ena egkyro zwo prepei na einai enas egkyros organismos. Epipleon, prepei to foodPerWeek na einai megalytero tou mhden, dhaldh foopPerWeek>0, kai to eatenThisWeek na einai megalytero h iso tou mhden, dhladh eatenThisWeek>=0.

Pedia ths klashs: (ektos twn klhronomhmenwn) foodPerWeek: Poso faghto prepei na faei to zwo ana evdomada. eatenThisWeek: Poso faghto exei faei to zwo mexri stigmhs.

Statika pedia ths klashs: alive_animals: Posa zwa einai zwntana, dead_animals: Posa zwa exoun pethanei


Field Summary
protected static int alive_animals
           
protected static int dead_animals
           
protected  int eatenThisWeek
           
protected  int foodPerWeek
           
 
Fields inherited from class organisms.organisms
age, alive_organisms, dead_organisms, energy, growth_rate, im, isChosen, position
 
Constructor Summary
animals()
          Constructor ths abstract klashs animals.
 
Method Summary
static int alive_animals()
          Epistrefei ton arithmo twn zwntanwn zwwn.
static int dead_animals()
          Epistrefei ton arithmo twn nekrwn zwwn.
abstract  boolean eat(organisms.organisms o)
          Abstract methodos pou elegxei an to zwo trwei ton organismo o pou dinetai san orisma, kai an ton trwei tote auksanei katallhla to eatenThisWeek tou zwou kai meiwnei katallhla to energy tou organismou o, alliws an to zwo den mporei na faei ton organismo o h eat() den kanei tipota.
 int eatenThisWeek()
          Epistrefei to eatenThisWeek tou zwou.
 int foodPerWeek()
          Epistrefei to foodPerWeek tou zwou.
 void increase_eatenThisWeek(int amount)
          Auksanei to eatenThisWeek tou zwou kata amount.
static void initStats()
          Arxikopoiei ta statistika se authn thn klash.
 void move(int x, int y)
          Allazei to position tou zwou, kinhsh tou zwou.
 void reset_eatenThisWeek()
          Mhdenizei to eatenThisWeek tou zwou.
 void restoreEnergy()
          Ylopoiei thn abstract methodo restoreEnergy() ths organisms.
 
Methods inherited from class organisms.organisms
age, alive_organisms, choose, dead_organisms, decrease_energy, die, draw, energy, growth_rate, increase_age, increase_energy, isAlive, position
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

foodPerWeek

protected int foodPerWeek

eatenThisWeek

protected int eatenThisWeek

alive_animals

protected static int alive_animals

dead_animals

protected static int dead_animals
Constructor Detail

animals

public animals()
Constructor ths abstract klashs animals. Kaleitai apo tous apogonous auths ths klashs. Kanei tis katallhles arxikopohseis kai auksanei ta synolika zwntana zwa kata 1.

Postcondition: Dhmiourgeitai ena neo zwo opoioudhpote typou me swsta xarakthristika organismou, me eatenThisWeek=0 kai auksanetai kata 1 to alive_animals.

Method Detail

foodPerWeek

public int foodPerWeek()
Epistrefei to foodPerWeek tou zwou. Accesor - Selector.

Precondition: To zwo prepei na einai zwntano, dhladh this.isAlive().

Postcondition: Epistrefei to foodPerWeek tou zwou.

Returns:
To foodPerWeek tou zwou.

eatenThisWeek

public int eatenThisWeek()
Epistrefei to eatenThisWeek tou zwou. Accesor - Selector.

Precondition: To zwo prepei na einai zwntano, dhladh this.isAlive().

Postcondition: Epistrefei to eatenThisWeek tou zwou.

Returns:
To eatenThisWeek tou zwou.

alive_animals

public static int alive_animals()
Epistrefei ton arithmo twn zwntanwn zwwn. Accesor - Selector.

Postcondition: Epistrefei ton arithmo twn zwntanwn zwwn.

Returns:
ton arithmo twn zwntanwn zwwn.

dead_animals

public static int dead_animals()
Epistrefei ton arithmo twn nekrwn zwwn. Accesor - Selector.

Postcondition: Epistrefei ton arithmo twn nekrwn zwwn.

Returns:
ton arithmo twn nekrwn zwwn.

reset_eatenThisWeek

public void reset_eatenThisWeek()
Mhdenizei to eatenThisWeek tou zwou. Transformer - Mutative. Kaleitai kata th diarkeia ths proswmoiwshs kathe kainourgia evdomada.

Precondition: To zwo prepei na einai zwntano, dhladh this.isAlive().

Postcondition: Mhdenizei to eatenThisWeek tou zwou.


increase_eatenThisWeek

public void increase_eatenThisWeek(int amount)
Auksanei to eatenThisWeek tou zwou kata amount. Accesor - Selector.

Postcondition: Auksanei to eatenThisWeek tou zwou kata amount.

Parameters:
amount - To poso kata to opoio tha aukshthei to eatenThisWeek tou zwou.

restoreEnergy

public void restoreEnergy()
Ylopoiei thn abstract methodo restoreEnergy() ths organisms. Ananewnei thn energeia tou zwou analoga me to poso efage to zwo. Sygkekrimena, an to zwo efage(eatenThisWeek) oso orizei to foodPerWeek h kai parapanw, h energeia tou zwou auksanetai oso einai to growth_rate tou (this.increase_energy()), alliws meiwnetai kata to idio poso (this.decrease_energy()). Transformer - Mutative. Kaleitai kata th diarkeia ths proswmoiwshs kathe evdomada.

Precondition: To zwo prepei na einai zwntano, dhladh this.isAlive().

Postcondition: Ananewnei to energy tou zwou, auksanontas to an eatenThisWeek>=foodPerWeek kai meiwnontas to an eatenThisWeek

Specified by:
restoreEnergy in class organisms

move

public void move(int x,
                 int y)
Allazei to position tou zwou, kinhsh tou zwou. Transformer - Mutative.

Precondition: To zwo prepei na einai zwntano, dhladh this.isAlive(), kai ta x,y na orizoun ena egkyro position sto opoio na mhn yparxei hdh allo zwo.

Postcondition: To zwo metakineitai sth nea thesh tou -position- me syntetgmenes x,y.

Parameters:
x - To neo x tou zwou.
y - To neo y tou zwou.

eat

public abstract boolean eat(organisms.organisms o)
Abstract methodos pou elegxei an to zwo trwei ton organismo o pou dinetai san orisma, kai an ton trwei tote auksanei katallhla to eatenThisWeek tou zwou kai meiwnei katallhla to energy tou organismou o, alliws an to zwo den mporei na faei ton organismo o h eat() den kanei tipota. Transformer - Mutative. Ylopoieitai ypoxrewtika apo tis ypoklaseis tou animals pou elegxoun me diaforetika krithria poious organismous mporei na faei to zwo. Kaleitai kata thn diarkeia ths proswmoiwshs gia ola ta zwntana zwa pou yparxoun kathe mera.

Precondition: To zwo prepei na einai zwntano, dhladh this.isAlive(), kai epishs o organismos o prepei na einai kai autos zwntanos, dhladh o.isAlive().

Postcondition: An to zwo trwei ton organismo o tote auksanetai to eatenThisWeek tou katallhla kai meiwnetai to energy tou organismou o katallhla. An oxi tote den ginetai tipota

Parameters:
o - O organismos pou theloume na doume an tha fagwthei apo to zwo.

Returns:
True h false analoga me ton an to zwo trwei ton organismo o.

initStats

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

Postcondition: Arxikopoiei ta statistika se authn thn klash.