Class Organism

java.lang.Object
  extended by Item
      extended by MovingItem
          extended by Organism
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Herbivore, Omnivore, Predator

public class Organism
extends MovingItem

See Also:
Serialized Form

Nested Class Summary
private  class Organism.BodySegment
           
 
Field Summary
private  java.awt.Color adultColor
           
static int AFRAID
           
private  int ageOfImpotence
           
private  Item antiTarget
           
private  java.util.Set body
           
private  int breathAmount
           
static boolean canBreedAndDie
           
private  java.awt.Color childColor
           
private  int childrenCounter
           
static int CURIOUS
           
private  int currentPregnancyTime
           
private  int DEFAULT_HEALTH
           
private  double diseaseResistance
           
private  int energy
           
private  double energyGivenToOffspring
           
static int FEMALE
           
private  double fertility
           
private  int gender
           
private  PaintedImage geneticImage
           
private  int health
           
private  double hungerFactor
           
static int HUNGRY
           
static int IN_HEAT
           
private  java.util.Set itemsDiscovered
           
private  Vector lastPositionWithAir
           
private  int lungCapacity
           
static int MALE
           
private  int matureAge
           
private  double MAX_SIZE
           
private  double metabolism
           
private  double mutateProbability
           
private  double mutateSize
           
private  double nightVisionFactor
           
private  int numSegments
           
static int OUT_OF_BREATH
           
private  int outOfBreathAt
           
private  int oxygenStored
           
private  int oxygenUsed
           
private  double preferredTemperature
           
private  int pregnancyPeriod
           
private  int previousStatus
           
private  double probOfDying
           
private  double radiusOfSight
           
private  java.awt.Color seniorColor
           
private  double strengthFactor
           
private  Item target
           
private  double temperatureComfortFactor
           
private  Organism womb
           
 
Constructor Summary
Organism(Vector pos, Environment env)
           
 
Method Summary
 void action()
           
 java.awt.Color adultColor()
           
 int ageOfImpotence()
           
 Item antiTarget()
           
 void attack(Organism other)
           
 boolean attemptBreed(Organism partner)
           
 boolean attemptNaturalDeath()
           
 double average(double a, double b)
           
 java.util.Set body()
           
 int breathAmount()
           
 void breathe()
           
 void breed()
           
 void breed(Organism partner)
           
 java.awt.Color childColor()
           
 int childrenCounter()
           
 void collideAction(Item other, Vector oldPos)
           
 void createBody()
           
 Organism createChild(Organism other, Vector pos)
           
 int currentPregnancyTime()
           
 double currentRadiusOfSight()
           
 int currentStatus()
           
 void decreaseEnergy(int amount)
           
 void decreaseOxygenStored(int b)
           
 int DEFAULT_HEALTH()
           
 boolean die()
           
 double diseaseResistance()
           
 boolean eat(Item i)
           
 java.util.Set enemyClasses()
           
 int energy()
           
 double energyGivenToOffspring()
           
 double fertility()
           
 void findOptimumTarget(java.util.Set items)
           
 int gender()
           
 PaintedImage geneticImage()
           
 java.lang.String geneticProfile()
           
 boolean giveBirth()
           
 int health()
           
 double hungerFactor()
           
 void increaseEnergy(int amount)
           
 void increaseOxygenStored(int b)
           
 void incrementChildrenCounter()
           
 void incrementPregnancy()
           
 boolean isAlive()
           
 boolean isPotentialMate(Item i)
           
 boolean isPregnant()
           
 boolean isWorthPersuit(Item i)
           
 java.util.Set itemsDiscovered()
           
 Vector lastPositionWithAir()
           
 int lungCapacity()
           
 void matchGeneticProfile(Organism o)
           
 void matchGeneticProfile(Organism o, Organism other)
           
 int matureAge()
           
 double MAX_SIZE()
           
 double metabolism()
           
 boolean move(double s, Vector dir)
           
 void moveTo(Vector pos)
           
 boolean moveToWomb(Organism o)
           
 java.awt.Color mutateColor(java.awt.Color a, java.awt.Color b)
           
 double mutateDouble(double d)
           
 double mutatePercentage(double d)
           
 double mutateProbability()
           
 double mutateSize()
           
 int mutateZeroPositiveInt(int i)
           
 double nightVisionFactor()
           
 int numSegments()
           
 int outOfBreathAt()
           
 int oxygenStored()
           
 int oxygenUsed()
           
 double preferredTemperature()
           
 int pregnancyPeriod()
           
 double probOfDying()
           
 double radiusOfSight()
           
 boolean receiveDamage(int amount, Item aggressor)
           
 void registerBirth()
           
 void resetPregnancyTime()
           
 void searchForTarget()
           
 java.awt.Color seniorColor()
           
 void setAdultColor(java.awt.Color c)
           
 void setAgeOfImpotence(int a)
           
 void setAntiTarget(Item t)
           
 void setBreathAmount(int b)
           
 void setChildColor(java.awt.Color c)
           
 void setDEFAULT_HEALTH(int d)
           
 void setDiseaseResistance(double r)
           
 void setEnergy(int e)
           
 void setEnergyGivenToOffspring(double e)
           
 void setFertility(double f)
           
 void setGender(int g)
           
 void setGeneticImage(PaintedImage p)
           
 void setHealth(int h)
           
 void setHungerFactor(double h)
           
 void setLastPositionWithAir(Vector v)
           
 void setLungCapacity(int l)
           
 void setMatureAge(int m)
           
 void setMAX_SIZE(double m)
           
 void setMetabolism(double m)
           
 void setMutateProbability(double m)
           
 void setMutateSize(double s)
           
 void setNightVisionFactor(double n)
           
 void setNumSegments(int n)
           
 void setOutOfBreathAt(int x)
           
 void setOxygenStored(int x)
           
 void setOxygenUsed(int o)
           
 void setPreferredTemperature(double t)
           
 void setPregnancyPeriod(int p)
           
 void setProbOfDying(double d)
           
 void setRadiusOfSight(double r)
           
 void setSeniorColor(java.awt.Color c)
           
 void setStrengthFactor(double s)
           
 void setTarget(Item t)
           
 void setTemperatureComfortFactor(double t)
           
 void setWomb(Organism o)
           
 Organism spawnClone(Vector pos)
           
 int strength()
           
 double strengthFactor()
           
 Item target()
           
 double temperatureComfortFactor()
           
 double temperatureDiscomfort()
           
 void touch(Item other)
           
 java.lang.String valueAsString(int s)
           
 Organism womb()
           
 
Methods inherited from class MovingItem
checkIfTouching, checkIfTouching, classImage, direction, initialTurningSpeed, move, moveBackward, setDirection, setInitialTurningSpeed, setSpeed, setTurningSpeed, speed, strafeLeft, strafeRight, turn, turningSpeed, turnLeft, turnRight
 
Methods inherited from class Item
age, className, color, displacement, displacement, distanceFrom, distanceFrom, environment, image, incrementAge, isActive, isEdible, isPortable, isPushable, isSolid, message, messageCounter, performSpecificFunction, position, radiusOfContact, reduceMessageCounter, remove, setActive, setAge, setColor, setEnvironment, setImage, setMessage, setPosition, setRadiusOfContact, showMessage, theCloser, toImage, touchingDistance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MALE

public static final int MALE
See Also:
Constant Field Values

FEMALE

public static final int FEMALE
See Also:
Constant Field Values

HUNGRY

public static final int HUNGRY
See Also:
Constant Field Values

IN_HEAT

public static final int IN_HEAT
See Also:
Constant Field Values

AFRAID

public static final int AFRAID
See Also:
Constant Field Values

CURIOUS

public static final int CURIOUS
See Also:
Constant Field Values

OUT_OF_BREATH

public static final int OUT_OF_BREATH
See Also:
Constant Field Values

canBreedAndDie

public static boolean canBreedAndDie

childrenCounter

private int childrenCounter

itemsDiscovered

private java.util.Set itemsDiscovered

body

private java.util.Set body

lastPositionWithAir

private Vector lastPositionWithAir

previousStatus

private int previousStatus

gender

private int gender

energy

private int energy

health

private int health

oxygenStored

private int oxygenStored

breathAmount

private int breathAmount

oxygenUsed

private int oxygenUsed

lungCapacity

private int lungCapacity

outOfBreathAt

private int outOfBreathAt

matureAge

private int matureAge

ageOfImpotence

private int ageOfImpotence

DEFAULT_HEALTH

private int DEFAULT_HEALTH

pregnancyPeriod

private int pregnancyPeriod

numSegments

private int numSegments

strengthFactor

private double strengthFactor

metabolism

private double metabolism

probOfDying

private double probOfDying

diseaseResistance

private double diseaseResistance

fertility

private double fertility

radiusOfSight

private double radiusOfSight

nightVisionFactor

private double nightVisionFactor

energyGivenToOffspring

private double energyGivenToOffspring

hungerFactor

private double hungerFactor

MAX_SIZE

private double MAX_SIZE

preferredTemperature

private double preferredTemperature

temperatureComfortFactor

private double temperatureComfortFactor

childColor

private java.awt.Color childColor

adultColor

private java.awt.Color adultColor

seniorColor

private java.awt.Color seniorColor

geneticImage

private PaintedImage geneticImage

womb

private Organism womb

currentPregnancyTime

private int currentPregnancyTime

mutateProbability

private double mutateProbability

mutateSize

private double mutateSize

target

private Item target

antiTarget

private Item antiTarget
Constructor Detail

Organism

public Organism(Vector pos,
                Environment env)
Method Detail

lastPositionWithAir

public Vector lastPositionWithAir()

setLastPositionWithAir

public void setLastPositionWithAir(Vector v)

isAlive

public boolean isAlive()
Overrides:
isAlive in class Item

childrenCounter

public int childrenCounter()

incrementChildrenCounter

public void incrementChildrenCounter()

itemsDiscovered

public java.util.Set itemsDiscovered()

enemyClasses

public java.util.Set enemyClasses()

gender

public int gender()

setGender

public void setGender(int g)

strengthFactor

public double strengthFactor()

setStrengthFactor

public void setStrengthFactor(double s)

strength

public int strength()

energy

public int energy()

setEnergy

public void setEnergy(int e)

decreaseEnergy

public void decreaseEnergy(int amount)

increaseEnergy

public void increaseEnergy(int amount)

health

public int health()

setHealth

public void setHealth(int h)

breathAmount

public int breathAmount()

setBreathAmount

public void setBreathAmount(int b)

oxygenUsed

public int oxygenUsed()

setOxygenUsed

public void setOxygenUsed(int o)

oxygenStored

public int oxygenStored()

setOxygenStored

public void setOxygenStored(int x)

increaseOxygenStored

public void increaseOxygenStored(int b)

decreaseOxygenStored

public void decreaseOxygenStored(int b)

lungCapacity

public int lungCapacity()

setLungCapacity

public void setLungCapacity(int l)

outOfBreathAt

public int outOfBreathAt()

setOutOfBreathAt

public void setOutOfBreathAt(int x)

matureAge

public int matureAge()

setMatureAge

public void setMatureAge(int m)

ageOfImpotence

public int ageOfImpotence()

setAgeOfImpotence

public void setAgeOfImpotence(int a)

pregnancyPeriod

public int pregnancyPeriod()

setPregnancyPeriod

public void setPregnancyPeriod(int p)

numSegments

public int numSegments()

setNumSegments

public void setNumSegments(int n)

body

public java.util.Set body()

createBody

public void createBody()

metabolism

public double metabolism()

setMetabolism

public void setMetabolism(double m)

probOfDying

public double probOfDying()

setProbOfDying

public void setProbOfDying(double d)

diseaseResistance

public double diseaseResistance()

setDiseaseResistance

public void setDiseaseResistance(double r)

currentRadiusOfSight

public double currentRadiusOfSight()

radiusOfSight

public double radiusOfSight()

setRadiusOfSight

public void setRadiusOfSight(double r)

nightVisionFactor

public double nightVisionFactor()

setNightVisionFactor

public void setNightVisionFactor(double n)

fertility

public double fertility()

setFertility

public void setFertility(double f)

energyGivenToOffspring

public double energyGivenToOffspring()

setEnergyGivenToOffspring

public void setEnergyGivenToOffspring(double e)

hungerFactor

public double hungerFactor()

setHungerFactor

public void setHungerFactor(double h)

DEFAULT_HEALTH

public int DEFAULT_HEALTH()

setDEFAULT_HEALTH

public void setDEFAULT_HEALTH(int d)

MAX_SIZE

public double MAX_SIZE()

setMAX_SIZE

public void setMAX_SIZE(double m)

preferredTemperature

public double preferredTemperature()

setPreferredTemperature

public void setPreferredTemperature(double t)

temperatureComfortFactor

public double temperatureComfortFactor()

setTemperatureComfortFactor

public void setTemperatureComfortFactor(double t)

childColor

public java.awt.Color childColor()

setChildColor

public void setChildColor(java.awt.Color c)

adultColor

public java.awt.Color adultColor()

setAdultColor

public void setAdultColor(java.awt.Color c)

seniorColor

public java.awt.Color seniorColor()

setSeniorColor

public void setSeniorColor(java.awt.Color c)

geneticImage

public PaintedImage geneticImage()

setGeneticImage

public void setGeneticImage(PaintedImage p)

breed

public void breed()

breed

public void breed(Organism partner)

womb

public Organism womb()

setWomb

public void setWomb(Organism o)

currentPregnancyTime

public int currentPregnancyTime()

resetPregnancyTime

public void resetPregnancyTime()

incrementPregnancy

public void incrementPregnancy()

moveToWomb

public boolean moveToWomb(Organism o)

isPregnant

public boolean isPregnant()

giveBirth

public boolean giveBirth()

registerBirth

public void registerBirth()

attemptBreed

public boolean attemptBreed(Organism partner)

createChild

public Organism createChild(Organism other,
                            Vector pos)

spawnClone

public Organism spawnClone(Vector pos)

isPotentialMate

public boolean isPotentialMate(Item i)

matchGeneticProfile

public void matchGeneticProfile(Organism o,
                                Organism other)

matchGeneticProfile

public void matchGeneticProfile(Organism o)

mutateProbability

public double mutateProbability()

setMutateProbability

public void setMutateProbability(double m)

mutateSize

public double mutateSize()

setMutateSize

public void setMutateSize(double s)

mutateDouble

public double mutateDouble(double d)

mutateZeroPositiveInt

public int mutateZeroPositiveInt(int i)

mutatePercentage

public double mutatePercentage(double d)

mutateColor

public java.awt.Color mutateColor(java.awt.Color a,
                                  java.awt.Color b)

average

public double average(double a,
                      double b)

attemptNaturalDeath

public boolean attemptNaturalDeath()

die

public boolean die()

temperatureDiscomfort

public double temperatureDiscomfort()

attack

public void attack(Organism other)

receiveDamage

public boolean receiveDamage(int amount,
                             Item aggressor)

eat

public boolean eat(Item i)

breathe

public void breathe()

collideAction

public void collideAction(Item other,
                          Vector oldPos)
Overrides:
collideAction in class MovingItem

touch

public void touch(Item other)

action

public void action()
Overrides:
action in class Item

currentStatus

public int currentStatus()

target

public Item target()

setTarget

public void setTarget(Item t)

antiTarget

public Item antiTarget()

setAntiTarget

public void setAntiTarget(Item t)

isWorthPersuit

public boolean isWorthPersuit(Item i)

searchForTarget

public void searchForTarget()

findOptimumTarget

public void findOptimumTarget(java.util.Set items)

move

public boolean move(double s,
                    Vector dir)
Overrides:
move in class MovingItem

moveTo

public void moveTo(Vector pos)

valueAsString

public java.lang.String valueAsString(int s)

geneticProfile

public java.lang.String geneticProfile()