Skip to content
Snippets Groups Projects
Commit 26d769cd authored by Yanis O's avatar Yanis O Committed by melizzzz
Browse files

[Modif] setState s'assure de ne pas réecrire de cases

parent c1c3d2b0
No related branches found
No related tags found
No related merge requests found
......@@ -35,6 +35,7 @@ fabric.properties
.gradle/
*.class
bin/
.gradle
*.bin
*.lock
build/
\ No newline at end of file
.gradle/8.10.2/executionHistory/executionHistory.bin
package model;
import util.Position;
import java.util.List;
import util.Position;
/**
* This interface represents a generic board for modeling various state-based systems.
*
......@@ -61,5 +61,8 @@ public interface Board<S> {
* @return The current step number or generation.
*/
int stepNumber();
// Le booléen replaceState permet de forcer le remplacement des cases vides
public void setState(Entity state, Position position, boolean replaceStates);
}
......@@ -23,7 +23,17 @@ public class FireFighterScenario implements Board<Entity>{
}
public void setState(Entity state, Position position){
if(!(getState(position) instanceof EmptySquare)){
return;
}
matrix.set(position.x(), position.y(), state);
}
// Le booléen replaceState permet de forcer le remplacement des cases vides
public void setState(Entity state, Position position, boolean replaceStates){
if(!(getState(position) instanceof EmptySquare) && !replaceStates){
return;
}
matrix.set(position.x(), position.y(), state);
}
......
......@@ -153,4 +153,10 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
}
}
}
@Override
public void setState(Entity state, Position position, boolean replaceStates) {
throw new UnsupportedOperationException("Unimplemented method 'setState'");
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment