feat(Circuit.java): ajout new fn et commentaires

This commit is contained in:
2025-10-29 23:26:34 +01:00
parent cd9894e92b
commit 6a0d411e8e

View File

@@ -1,25 +1,97 @@
public class Circuit {
private final CircuitCell type;
/**
* Représente une cellule du circuit.
* <p>
* Chaque cellule possède un type ({@link CircuitCell}) et éventuellement une valeur
* numérique (par exemple pour indiquer une intensité, une vitesse, ou un identifiant de route).
* </p>
*/
public class Circuit
{
/** Type de la cellule (vide, route, départ, arrivée, etc.) */
private final CircuitCell type;
/** Valeur associée à la cellule (optionnelle, dépend du type) */
private int value;
public Circuit(CircuitCell type)
{
/**
* Construit une cellule avec un type défini et une valeur par défaut
* égale à lindice ordinal du type.
*
* @param type le type de la cellule
*/
public Circuit(CircuitCell type)
{
this.type = type;
this.value = type.ordinal();
this.value = type.ordinal();
}
public Circuit(CircuitCell type, int value)
{
/**
* Construit une cellule avec un type et une valeur spécifique.
*
* @param type le type de la cellule
* @param value la valeur associée à la cellule
*/
public Circuit(CircuitCell type, int value)
{
this.type = type;
this.value = value;
this.value = value;
}
public Circuit setValue(int value)
{
this.value = value;
return this;
}
public CircuitCell getType() { return type; }
public int getValue() { return value; }
}
/**
* Modifie la valeur associée à la cellule.
*
* @param value la nouvelle valeur
* @return cette même instance (pour chaînage fluide)
*/
public Circuit setValue(int value)
{
this.value = value;
return this;
}
/**
* @return le type de la cellule
*/
public CircuitCell getType()
{
return type;
}
/**
* @return la valeur associée à la cellule
*/
public int getValue()
{
return value;
}
/**
* Vérifie si la cellule est une route (ROAD ou YROAD).
*
* @return vrai si la cellule représente une route
*/
public boolean isRoad()
{
return type == CircuitCell.ROAD || type == CircuitCell.YROAD;
}
/**
* Vérifie si la cellule est un point de départ.
*
* @return vrai si la cellule représente le départ
*/
public boolean isStart()
{
return type == CircuitCell.START;
}
/**
* Vérifie si la cellule est un point darrivée.
*
* @return vrai si la cellule représente la fin du circuit
*/
public boolean isFinish()
{
return type == CircuitCell.FINISH;
}
}