mirror of
https://github.com/guezoloic/L3-racing-game.git
synced 2026-03-31 04:11:33 +00:00
95 lines
2.1 KiB
Java
95 lines
2.1 KiB
Java
package model.car;
|
|
|
|
import java.awt.Color;
|
|
import model.Game.Observer;
|
|
|
|
/**
|
|
* {@link Car} est l'interface représentant une voiture dans le jeu.
|
|
*
|
|
* <p>
|
|
* Elle hérite de {@link Observer} afin de pouvoir être notifiée à chaque tick
|
|
* du jeu et participer à la logique principale.
|
|
* </p>
|
|
*
|
|
* <p>
|
|
* L'interface définit les actions possibles sur une voiture, ainsi que les
|
|
* méthodes pour obtenir son état, sa position, son score, et sa couleur.
|
|
* </p>
|
|
*/
|
|
public interface Car extends Observer {
|
|
|
|
/**
|
|
* Accélère la voiture.
|
|
* <p>
|
|
* Modifie l'état de la voiture selon les règles du {@link State}.
|
|
* </p>
|
|
* @return message explicatif.
|
|
*/
|
|
public String accelerate();
|
|
|
|
/**
|
|
* Ralentit la voiture.
|
|
* <p>
|
|
* Modifie l'état de la voiture selon les règles du {@link State}.
|
|
* </p>
|
|
* @return message explicatif.
|
|
*/
|
|
public String decelerate();
|
|
|
|
/**
|
|
* Active ou désactive le mouvement inversé de la voiture.
|
|
*
|
|
* @param active true pour inverser la direction, false pour avancer normalement
|
|
*/
|
|
public void reverse(boolean active);
|
|
|
|
/**
|
|
* Active ou désactive la consommation de carburant.
|
|
*
|
|
* @param active true pour consommer du carburant, false pour ne pas consommer
|
|
*/
|
|
public void consumption(boolean active);
|
|
|
|
/**
|
|
* Supprime ou désactive la voiture (selon l'implémentation).
|
|
*
|
|
* @return l'instance de la voiture (pour chaînage ou gestion interne)
|
|
*/
|
|
public Car remove();
|
|
|
|
/**
|
|
* @return le nom de la voiture
|
|
*/
|
|
public String getName();
|
|
|
|
/**
|
|
* @return la position actuelle sur le circuit
|
|
*/
|
|
public int getPosition();
|
|
|
|
/**
|
|
* @return le score actuel de la voiture
|
|
*/
|
|
public int getScore();
|
|
|
|
/**
|
|
* @return le nombre de tours complétés
|
|
*/
|
|
public int getRound();
|
|
|
|
/**
|
|
* @return le carburant restant
|
|
*/
|
|
public int getFuel();
|
|
|
|
/**
|
|
* @return l'état courant de la voiture ({@link State})
|
|
*/
|
|
public State getState();
|
|
|
|
/**
|
|
* @return la couleur de la voiture pour l'affichage
|
|
*/
|
|
public Color getColor();
|
|
}
|