pluginSDK
Class Boids

java.lang.Object
  |
  +--pluginSDK.Entity
        |
        +--pluginSDK.Boids
All Implemented Interfaces:
Plugin, Serializable

public abstract class Boids
extends Entity

Titre : The Wondrous Farm Description : La classe de base des plugins de Bestioles/Boids Copyright : Copyright (c) 2002 Société : Maitrise d'Info

See Also:
Serialized Form

Field Summary
protected  double acceleration
           
private  Behaviours b
           
protected  double heading
           
private  ArrayList listB
           
private  String name
           
private  int nbKill
           
protected  double speed
           
private  int type
           
protected  double viewAngle
           
private  int worldH
           
private  int worldW
           
 
Fields inherited from class pluginSDK.Entity
h, IS_BEHAVIOUR, IS_BOID, IS_MOTHER, IS_OBSTACLE, isLeader, isSelected, myColor, myWorld, path, w, x, y
 
Constructor Summary
Boids()
           
Boids(int X, int Y, double spd, double hdg, double accel, double va, String nm, ArrayList f, int w, int h)
           
 
Method Summary
 void addBehaviour(Behaviours b)
          Rajoute un cmoportement au Boid
 boolean canSee(Entity p)
          Renvoie vrai si on peut voir l'entité (boid ou obstacle)
 void changeDir(double hdg)
          modifier le cap du boid
 double directionVersPoint(int bx, int by)
          Renvoie la direction de ce Boid par rapport à un point
 void doYourStuff(Flock f)
          Fait agir le Boid en fonction des comportements dans le monde auquel il appartient.
Tous ses comportements sont appliqués jusqu'à ce qu'il y en ait un qui modifie sont état.
abstract  void drawEntity(Graphics g)
          Dessine le Boid.
 void extraStuff()
          Des actions supplémentaire (qd le Boid meure, tue qq'un, ...)
Cette méthode est optionnelle.
 double getAccel()
           
 ArrayList getBehaviours()
          Renvoie les comportements de ce Boid.
 double getHeading()
          Renvoie le cap du Boid
abstract  String getKind()
          Renvoie le type du Boid
 String getName()
           
 int getNbKill()
          Renvoie le nombre de victimes du Boid.
 double getSpeed()
           
 int getType()
          Renvoie le type du Boid (@see pluginSDK.Plugin)
 double getViewAngle()
          Renvoie l'angle du champ de vision du Boid
 int getWorldHeigth()
           
 int getWorldWidth()
           
 void incNbKill()
          Augmente le nombre de victimes du Boid de 1
 void move()
          Faire avancer le Boid.
 void move(double accel)
          Faire avancer le Boid encore plus vite
 void setAccel(double a)
           
 void setHeading(double hdg)
          idem
 void setName(String n)
           
 void setSpeed(double s)
           
 void setViewAngle(double a)
          Modifie le champ de vision du Boid
 void setWorldHeigth(int h)
           
 void setWorldWidth(int w)
           
 
Methods inherited from class pluginSDK.Entity
computeTargetHeading, directionDepuisUnPoint, distanceDepuisUnPoint, getBehaviour, getHeight, getPath, getPosX, getPosY, getSelected, getWidth, getWorld, isLeader, isLeader, seekNearest, seekNearest, setHeight, setMyColor, setPath, setPosX, setPosY, setSelected, setWidth, setWorld, toString, whatIsMyColor
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

speed

protected double speed

heading

protected double heading

acceleration

protected double acceleration

viewAngle

protected double viewAngle

name

private String name

type

private int type

b

private Behaviours b

listB

private ArrayList listB

nbKill

private int nbKill

worldW

private int worldW

worldH

private int worldH
Constructor Detail

Boids

public Boids()

Boids

public Boids(int X,
             int Y,
             double spd,
             double hdg,
             double accel,
             double va,
             String nm,
             ArrayList f,
             int w,
             int h)
Parameters:
X: - la coordonnée horizontale du Boid
Y: - la coordonnée verticale du Boid
spd: - la vitesse du Boid
hdg: - son cap en radian, compris entre 0 et 2*Pi
accel: - son accélération
va: - son champ de vision en radian, compris entre 0 et 2*Pi
mn: - le nom du Boid (Toto, Lady Die, Prince Charles, ...)
f: - les Bestioles qui gravitent autour
w: - la largeur du Boid
h: - sa hauteur.
Method Detail

getWorldWidth

public int getWorldWidth()

getWorldHeigth

public int getWorldHeigth()

setWorldWidth

public void setWorldWidth(int w)

setWorldHeigth

public void setWorldHeigth(int h)

getType

public int getType()
Renvoie le type du Boid (@see pluginSDK.Plugin)
Overrides:
getType in class Entity
Following copied from interface: pluginSDK.Plugin
Returns:
int: le type du Boid

canSee

public boolean canSee(Entity p)
Renvoie vrai si on peut voir l'entité (boid ou obstacle)
Parameters:
p: - l'entité que l'on pourrait voir
Returns:
boolean: true si on la voit, false sinon

changeDir

public void changeDir(double hdg)
modifier le cap du boid
Parameters:
hdg: - le nouveau cap en radian, entre 0 et 2*Pi

setHeading

public void setHeading(double hdg)
idem

getHeading

public double getHeading()
Renvoie le cap du Boid
Returns:
double: le cap en radians

move

public void move()
Faire avancer le Boid.

move

public void move(double accel)
Faire avancer le Boid encore plus vite

getSpeed

public double getSpeed()

setSpeed

public void setSpeed(double s)

getAccel

public double getAccel()

setAccel

public void setAccel(double a)

getViewAngle

public double getViewAngle()
Renvoie l'angle du champ de vision du Boid
Returns:
double: l'angle en radians

setViewAngle

public void setViewAngle(double a)
Modifie le champ de vision du Boid
Parameters:
a: - l'angle en radians entre 0 et 2*Pi

getKind

public abstract String getKind()
Renvoie le type du Boid
Overrides:
getKind in class Entity
Returns:
String: le type du Boid (par ex: "Boids")

getName

public String getName()

setName

public void setName(String n)

getNbKill

public int getNbKill()
Renvoie le nombre de victimes du Boid.
Returns:
int: un entier >= 0

incNbKill

public void incNbKill()
Augmente le nombre de victimes du Boid de 1

addBehaviour

public void addBehaviour(Behaviours b)
Rajoute un cmoportement au Boid
Parameters:
b: - le nouveau comportement
See Also:
Behaviours

getBehaviours

public ArrayList getBehaviours()
Renvoie les comportements de ce Boid.
Returns:
java.util.ArrayList: la liste des comportements.

doYourStuff

public void doYourStuff(Flock f)
Fait agir le Boid en fonction des comportements dans le monde auquel il appartient.
Tous ses comportements sont appliqués jusqu'à ce qu'il y en ait un qui modifie sont état.
Parameters:
f: - le monde du Boid

directionVersPoint

public double directionVersPoint(int bx,
                                 int by)
Renvoie la direction de ce Boid par rapport à un point
Parameters:
bx: - l'abscisse du point
by: - l'ordonnée du point
Returns:
double: l'angle en radian

extraStuff

public void extraStuff()
Des actions supplémentaire (qd le Boid meure, tue qq'un, ...)
Cette méthode est optionnelle.

drawEntity

public abstract void drawEntity(Graphics g)
Dessine le Boid.
Overrides:
drawEntity in class Entity
See Also:
Graphics