Skip to content
Snippets Groups Projects
Commit d4d1a8ec authored by Yanis O's avatar Yanis O
Browse files

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

parent 5ba1c18d
No related branches found
No related tags found
No related merge requests found
...@@ -35,3 +35,7 @@ fabric.properties ...@@ -35,3 +35,7 @@ fabric.properties
.gradle/ .gradle/
*.class *.class
bin/ bin/
.gradle
*.bin
*.lock
.gradle/8.10.2/executionHistory/executionHistory.bin
package model; package model;
import util.Position;
import java.util.List; import java.util.List;
import util.Position;
/** /**
* This interface represents a generic board for modeling various state-based systems. * This interface represents a generic board for modeling various state-based systems.
* *
...@@ -61,5 +61,8 @@ public interface Board<S> { ...@@ -61,5 +61,8 @@ public interface Board<S> {
* @return The current step number or generation. * @return The current step number or generation.
*/ */
int stepNumber(); 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>{ ...@@ -23,7 +23,17 @@ public class FireFighterScenario implements Board<Entity>{
} }
public void setState(Entity state, Position position){ 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); matrix.set(position.x(), position.y(), state);
} }
......
...@@ -153,4 +153,10 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -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