rendered paste bodypackage model;
import java.util.Random;
public abstract class AbstractFink implements Fink {
protected String id;
protected int maxAge;
private int age;
private int energy;
private Random random;
protected boolean lastPruned;
private int offspring;
public AbstractFink( String id, int maxAge, Random random )
{
this.id = id;
this.maxAge = maxAge;
this.age = 0;
this.energy = 20;
this.random = random;
}
@Override
public void addEnergy(int n) {
energy = energy + n;
}
@Override
public boolean alive() {
return ( age <= maxAge ) && ( energy > 0 );
}
@Override
public void birthday() {
age = age + 1;
}
@Override
public int energy() {
return energy;
}
@Override
public void giveBirth() {
if( energy > 25 )
{
offspring += 1;
energy -= 10;
}
}
@Override
public boolean lastPruned() {
return lastPruned;
}
@Override
public String name() {
return id;
}
@Override
public int offspringProduced() {
return offspring;
}
@Override
public void removeEnergy(int n) {
energy = energy - n;
}
}