mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-31 11:11:38 +00:00
ajout des actions accélérer/rallentir et correction de la condition de dérapage (>=) (Car)
This commit is contained in:
42
src/Car.java
42
src/Car.java
@@ -47,7 +47,7 @@ public class Car {
|
||||
public static enum State {
|
||||
/**
|
||||
* L'état NORMAL du Vehicule avance selon un chiffre au alentour de 1 à 6 cases
|
||||
* par tour. Il consomme 6 unités de carburant à chaque tour. Si l'on
|
||||
* par tour. Il consomme 2 unités de carburant à chaque tour. Si l'on
|
||||
* accelere, il passe à l'état BOOST. Si on Rallenti, il passe à l'état LOW.
|
||||
*/
|
||||
// @formatter:off
|
||||
@@ -202,6 +202,44 @@ public class Car {
|
||||
return fuel;
|
||||
}
|
||||
|
||||
/** Retourne l'état courant de la voiture. */
|
||||
public State getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
/** Clique sur "Accelerer" : change d'état et retourne un message (si nécessaire). */
|
||||
public String accelerate() {
|
||||
// Si endommagée => l'énoncé dit qu'on ne peut pas bouger
|
||||
if (state.isDamaged()) {
|
||||
return "Voiture endommagée : impossible d'accélérer";
|
||||
}
|
||||
State next = state.accelerate();
|
||||
|
||||
// Énoncé : en BOOST, si on accélère encore => message "déjà max"
|
||||
if (state == State.BOOST && next == State.BOOST) {
|
||||
return "Déjà à la vitesse maximale";
|
||||
}
|
||||
state = next;
|
||||
return "";
|
||||
}
|
||||
|
||||
/** Clique sur "Rallentir" : change d'état et retourne un message (si nécessaire). */
|
||||
public String decelerate() {
|
||||
if (state.isDamaged()) {
|
||||
return "Voiture endommagée : impossible de ralentir";
|
||||
}
|
||||
|
||||
State next = state.decelerate();
|
||||
|
||||
// Énoncé : en STOPPED, si on ralentit encore => message "déjà arrêtée"
|
||||
if (state == State.STOPPED && next == State.STOPPED) {
|
||||
return "Déjà arrêtée";
|
||||
}
|
||||
|
||||
state = next;
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Fait avancer la voiture d'un certain nombre de positions.
|
||||
* <p>
|
||||
@@ -227,7 +265,7 @@ public class Car {
|
||||
Point point = MAP.getPath(pos);
|
||||
Map.Circuit element = MAP.getElement(point.x, point.y);
|
||||
|
||||
if (element.isYRoad() && element.getValue() < jump) {
|
||||
if (element.isYRoad() && element.getValue() <= jump) {
|
||||
System.out.println(NAME + " a un\taccident");
|
||||
setDamage();
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user