feat: ajout commentaire package car

This commit is contained in:
2025-12-19 19:21:56 +01:00
parent eab6f4666f
commit 321fa43666
8 changed files with 402 additions and 161 deletions

View File

@@ -3,29 +3,92 @@ 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();
}