mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-31 11:11:38 +00:00
feat(Circuit.java): ajout new fn et commentaires
This commit is contained in:
106
src/Circuit.java
106
src/Circuit.java
@@ -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;
|
private int value;
|
||||||
|
|
||||||
public Circuit(CircuitCell type)
|
/**
|
||||||
{
|
* Construit une cellule avec un type défini et une valeur par défaut
|
||||||
|
* égale à l’indice ordinal du type.
|
||||||
|
*
|
||||||
|
* @param type le type de la cellule
|
||||||
|
*/
|
||||||
|
public Circuit(CircuitCell type)
|
||||||
|
{
|
||||||
this.type = 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.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 d’arrivée.
|
||||||
|
*
|
||||||
|
* @return vrai si la cellule représente la fin du circuit
|
||||||
|
*/
|
||||||
|
public boolean isFinish()
|
||||||
|
{
|
||||||
|
return type == CircuitCell.FINISH;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user