galaxiia.jeu.unite
Interface InformateurUnite

All Superinterfaces:
ConstantesUnite, Serializable
All Known Subinterfaces:
ControleurUnite

public interface InformateurUnite
extends Serializable, ConstantesUnite

Interface représentant une unité.


Field Summary
 
Fields inherited from interface galaxiia.jeu.unite.ConstantesUnite
ACTION_AUCUNE, ACTION_AUTODESTRUCTION, ACTION_BOUCLIER, ACTION_DEPLACEMENT, ACTION_FREIN, ACTION_LANCEMENT, BOLTER, BOMBE_IEM, BOMBE_THERMONUCLEAIRE, BOUCLIER_ASTRAL, BOUCLIER_REPULSIF, CHASSEUR, CHASSEUR_CHILDEUR, CHASSEUR_INSTARS, CHASSEUR_LOURD_ANTI_MISSILE, CHASSEUR_LOURD_CHILDEUR, CHASSEUR_LOURD_INSTARS, CHASSEUR_LOURD_PERCOL, CHASSEUR_LOURD_TERRIEN, CHASSEUR_LOURD_VOUAINEDY, CHASSEUR_PERCOL, CHASSEUR_TERRIEN, CHASSEUR_VOUAINEDY, COEFFICIENT_ENERGIE, CONSTRUCTEUR_CHILDEUR, CONSTRUCTEUR_INSTARS, CONSTRUCTEUR_PERCOL, CONSTRUCTEUR_TERRIEN, CONSTRUCTEUR_VOUAINEDY, DISTANCE_PROPULTION, EQUIPE_MISSILE, INCONNU, LASER, LASER_ZERO, MISSILE_FOX, MISSILE_FOX_DOWN, MISSILE_GRAY_FOX, NOM_BOLTER, NOM_BOMBE_IEM, NOM_BOMBE_THERMONUCLEAIRE, NOM_BOUCLIER_ASTRAL, NOM_BOUCLIER_REPULSIF, NOM_CATEGORIE_ARMEMENT_CHILDEUR, NOM_CATEGORIE_ARMEMENT_COMMUN, NOM_CATEGORIE_ARMEMENT_INSTARS, NOM_CATEGORIE_ARMEMENT_PERCOL, NOM_CATEGORIE_ARMEMENT_TERRIEN, NOM_CATEGORIE_ARMEMENT_VOUAINEDY, NOM_CATEGORIE_CHASSEURS, NOM_CATEGORIE_CHASSEURS_LOURDS, NOM_CATEGORIE_CONSTRUCTEURS, NOM_CATEGORIE_PROJECTILES, NOM_CATEGORIE_VAISSEAUX_MERES, NOM_CHASSEUR, NOM_CHASSEUR_CHILDEUR, NOM_CHASSEUR_INSTARS, NOM_CHASSEUR_LOURD_ANTIMISSILE, NOM_CHASSEUR_LOURD_CHILDEUR, NOM_CHASSEUR_LOURD_INSTARS, NOM_CHASSEUR_LOURD_PERCOL, NOM_CHASSEUR_LOURD_TERRIEN, NOM_CHASSEUR_LOURD_VOUAINEDY, NOM_CHASSEUR_PERCOL, NOM_CHASSEUR_TERRIEN, NOM_CHASSEUR_VOUAINEDY, NOM_CONSTRUCTEUR_CHILDEUR, NOM_CONSTRUCTEUR_INSTARS, NOM_CONSTRUCTEUR_PERCOL, NOM_CONSTRUCTEUR_TERRIEN, NOM_CONSTRUCTEUR_VOUAINEDY, NOM_LASER, NOM_LASER_ZERO, NOM_MISSILE_FOX, NOM_MISSILE_FOX_DOWN, NOM_MISSILE_GRAY_FOX, NOM_SUBCLEAR_ELECTROMAGNETIQUE, NOM_SUBCLEAR_ENERGIE_NOIRE, NOM_TOURELLE_FOX, NOM_TOURELLE_LOURDE_CHILDEUR, NOM_TOURELLE_LOURDE_INSTARS, NOM_TOURELLE_LOURDE_PERCOL, NOM_TOURELLE_LOURDE_TERRIEN, NOM_TOURELLE_LOURDE_VOUAINEDY, NOM_VAISSEAU_MERE_CHILDEUR, NOM_VAISSEAU_MERE_INSTARS, NOM_VAISSEAU_MERE_PERCOL, NOM_VAISSEAU_MERE_TERRIEN, NOM_VAISSEAU_MERE_VOUAINEDY, NOM_WOLF_PENETRANT, NOM_WOLF_PERFORANT, SUBCLEAR_ELECTROMAGNETIQUE, SUBCLEAR_ENERGIE_NOIRE, TOURELLE_FOX, TOURELLE_LOURDE_CHILDEUR, TOURELLE_LOURDE_INSTARS, TOURELLE_LOURDE_PERCOL, TOURELLE_LOURDE_TERRIEN, TOURELLE_LOURDE_VOUAINEDY, TYPE_UNITE_MAXIMUM, VAISSEAU_MERE_CHILDEUR, VAISSEAU_MERE_INSTARS, VAISSEAU_MERE_PERCOL, VAISSEAU_MERE_TERRIEN, VAISSEAU_MERE_VOUAINEDY, WOLF_PENETRANT, WOLF_PERFORANT
 
Method Summary
 double accumulationEnergie()
          Retourne la quantité d'énergie accumulée par cette unité à chaque tour.
 int actionEnCours()
          L'action que l'unité est en train d'effectuer durant ce tour.
 double coutEnergetiqueCreation()
          Précise l'énergie qui a été nécessaire pour créer cette unité.
 double dommageDeContact(InformateurUnite unite)
          Retourne les dommages que subira l'unité unite lorsqu'elle sera en contact avec l'unité courante.
 double energie()
          Énergie accumulée par cette unité.
 int equipe()
          Équipe à laquelle appartient cette unité.
 boolean estEnnemi(int equipe)
          Précise si le numéro de l'équipe donnée en argument est le numéro d'une équipe ennemie dans le système d'alliance du terrain.
 boolean estFixe()
          Précise si l'unité est fixe.
 long id()
          ID de l'unité.
 double[] interpolation(int nombreTours)
          Interpole la position de l'unité.
 int numeroObjectifEnCours()
          Donne l'index de l'objectif en cours dans le tableau d'objectifs.
 Objectif objectifEnCours()
          Donne l'objectif que l'unité doit accomplir actuellement.
 boolean peutCreer(int typeUnite)
          Précise les capacités de lancement de cette unité.
 double pointsVie()
          Points de vie de cette unité.
 double pointsVieInitiaux()
          Points de vie initiaux de cette unité.
 double[] position()
          Position de l'unité.
 double puissanceAcceleration()
          Précise la puissance d'accélération de l'unité.
 double puissanceArret()
          Le carré de la norme de la vitesse à laquelle le vaisseau n'est plus freiné mais stoppé.
 double puissanceBouclier()
          Puissance du bouclier.
 double puissanceRalentissement()
          Précise la puissance de ralentissement de l'unité.
 double rayon()
          Rayon de l'unité.
 Objectif[] tousObjectifs()
          Précise les objectifs, dans l'ordre chronologique, que l'unité devra accomplir.
 int type()
          Donne le type de cette unité.
 double[] vitesse()
          Vitesse de l'unité.
 

Method Detail

actionEnCours

int actionEnCours()
L'action que l'unité est en train d'effectuer durant ce tour. L'unité peut être inactive, accélérer, lancer un missile, activer son bouclier, freiner ou s'autodétruire.

Returns:
L'action de l'unité pour ce tour.
See Also:
ConstantesUnite.ACTION_AUCUNE, ConstantesUnite.ACTION_AUTODESTRUCTION, ConstantesUnite.ACTION_BOUCLIER, ConstantesUnite.ACTION_DEPLACEMENT, ConstantesUnite.ACTION_FREIN, ConstantesUnite.ACTION_LANCEMENT

equipe

int equipe()
Équipe à laquelle appartient cette unité. Pour les unités dirigées par des IA, le numéro d'équipe est supérieur ou égal à 1. Pour les autres unités, le numéro d'équipe est une constante :

Returns:
l'équipe de cette unité.

pointsVie

double pointsVie()
Points de vie de cette unité. Une unité avec des points de vie négatifs ou nuls explose et disparaît du jeu.

Returns:
les points de vie de cette unité.

energie

double energie()
Énergie accumulée par cette unité. À chaque tour, si l'unité ne reçoit pas d'ordre, elle accumule de l'énergie. Si elle reçoit l'ordre de tirer un missile ou de lancer un chasseur, elle consomme de l'énergie. Sinon, l'énergie se conserve (déplacement, activation du bouclier).

Returns:
l'énergie accumulée par cette unité.

position

double[] position()
Position de l'unité. La position est représentée par un tableau dont le premier élément est l'abscisse et le deuxième l'ordonnée.

Returns:
la position de cette unité.

vitesse

double[] vitesse()
Vitesse de l'unité. La vitesse est représentée par un tableau dont le premier élément est la vitesse selon l'abscisse et le deuxième selon l'ordonnée.

Returns:
la vitesse de cette unité.

id

long id()
ID de l'unité. Chaque unité possède un identificateur unique et constant tout au long de la partie.

Returns:
l'ID de cette unité.

rayon

double rayon()
Rayon de l'unité. Les unités ne sont pas ponctuelles et occupent un disque de rayon donné dans le plan.

Returns:
le rayon de cette unité.

puissanceAcceleration

double puissanceAcceleration()
Précise la puissance d'accélération de l'unité. Le carré de la norme de l'accélération maximale de l'unité. Une unité ne possède pas de vitesse maximale mais possède une accélération maximale.

Returns:
le carré de la norme maximale du vecteur accélération.

puissanceRalentissement

double puissanceRalentissement()
Précise la puissance de ralentissement de l'unité. À chaque demande de freinage, la vitesse de l'unité est multipliée par cette valeur. Cette valeur est donc comprise entre 0 et 1. Plus cette valeur est faible, plus le freinage est efficace. Si le carré de la norme de la vitesse de l'unité est inférieur à puissanceArret(), la vitesse de l'unité devient strictement nul.

Returns:
le pourcentage de la vitesse conservée lors du freinage.

puissanceArret

double puissanceArret()
Le carré de la norme de la vitesse à laquelle le vaisseau n'est plus freiné mais stoppé. Lors d'une demande de freinage, si le carré de la norme de la vitesse est supérieur à cette valeur, la vitesse de l'unité est multipliée par puissanceRalentissement(), sinon, la vitesse de l'unité est mise à zéro.

Returns:
le carré de la norme de la vitesse à laquelle le vaisseau est stoppé.

coutEnergetiqueCreation

double coutEnergetiqueCreation()
Précise l'énergie qui a été nécessaire pour créer cette unité.

Returns:
l'énergie nécessaire pour créer cette unité.

accumulationEnergie

double accumulationEnergie()
Retourne la quantité d'énergie accumulée par cette unité à chaque tour. Pour les règles d'accumulation de l'énergie, voir energie().

Returns:
la quantité d'énergie accumulée par tour.

puissanceBouclier

double puissanceBouclier()
Puissance du bouclier. Une fraction des dégâts subis par l'unité est absorbée par le bouclier lorsque celui-ci est actif.

Returns:
La fraction des dégâts absorbés par le bouclier.

dommageDeContact

double dommageDeContact(InformateurUnite unite)
Retourne les dommages que subira l'unité unite lorsqu'elle sera en contact avec l'unité courante.

Parameters:
unite - l'unité en contact
Returns:
dommages reçus au contact.

type

int type()
Donne le type de cette unité.

Returns:
le type de cette unité.
See Also:
Unite

estFixe

boolean estFixe()
Précise si l'unité est fixe. Si une unité est fixe, elle ne peut pas se déplacer, mais elle ne subit pas les effets d'accélération des souffles.

Returns:
true si cette unité est fixe.

peutCreer

boolean peutCreer(int typeUnite)
Précise les capacités de lancement de cette unité.

Parameters:
typeUnite - type de l'unité que l'on veut lancer.
Returns:
true si cette unité peut lancer l'unité typeUnite.
See Also:
type()

pointsVieInitiaux

double pointsVieInitiaux()
Points de vie initiaux de cette unité.

Returns:
les points de vie initiaux de cette unité.
See Also:
pointsVie()

interpolation

double[] interpolation(int nombreTours)
Interpole la position de l'unité. L'interpolation est réalisée dans le cas d'une vitesse constante.

Parameters:
nombreTours - nombre de tours de l'interpolation.
Returns:
position de l'unité dans nombreTours si elle conserve sa vitesse actuelle.
See Also:
position()

numeroObjectifEnCours

int numeroObjectifEnCours()
Donne l'index de l'objectif en cours dans le tableau d'objectifs.

Returns:
L'index de l'objectif en cours.

objectifEnCours

Objectif objectifEnCours()
Donne l'objectif que l'unité doit accomplir actuellement.

Returns:
l'objectif que l'unité doit accomplir actuellement.

tousObjectifs

Objectif[] tousObjectifs()
Précise les objectifs, dans l'ordre chronologique, que l'unité devra accomplir.

Returns:
les objectifs de cette unité.

estEnnemi

boolean estEnnemi(int equipe)
Précise si le numéro de l'équipe donnée en argument est le numéro d'une équipe ennemie dans le système d'alliance du terrain.

Parameters:
equipe - le numéro de l'équipe. Celui ci doit être positif et inférieur ou égal au nombre d'équipes total. Il peut également être égal à ConstantesUnite.EQUIPE_MISSILE. .
Returns:
false si l'équipe correspond à un allié, ou à votre équipe ou encore à ConstantesUnite.EQUIPE_MISSILE, . true si le numéro de l'équipe correspond à une équipe ennemie.