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

Omission d'un paramètre inutile dans setSquare de Board

parent 543b5a90
No related branches found
No related tags found
No related merge requests found
Pipeline #39084 failed
...@@ -25,7 +25,7 @@ public interface Board<S> { ...@@ -25,7 +25,7 @@ public interface Board<S> {
* @param state The state to set for the given position. * @param state The state to set for the given position.
* @param position The position on the board for which to set the state. * @param position The position on the board for which to set the state.
*/ */
void setSquare(S square, Position position); void setSquare(S square);
/** /**
* Get the number of rows in the board. * Get the number of rows in the board.
...@@ -64,7 +64,7 @@ public interface Board<S> { ...@@ -64,7 +64,7 @@ public interface Board<S> {
public int getStepNumber(); public int getStepNumber();
// Le booléen replaceState permet de forcer le remplacement des cases vides // Le booléen replaceState permet de forcer le remplacement des cases vides
public void setSquare(S square, Position position, boolean replaceStates); public void setSquare(S square, boolean replaceStates);
public boolean doesPositionExist(Position position); public boolean doesPositionExist(Position position);
......
...@@ -30,6 +30,7 @@ public class Fire implements Entity{ ...@@ -30,6 +30,7 @@ public class Fire implements Entity{
if(b.getStates(p).isEmpty()){ if(b.getStates(p).isEmpty()){
if(b.getStates(p).getMaxAge() < b.getStepNumber()){ if(b.getStates(p).getMaxAge() < b.getStepNumber()){
board.addEntityAtSquare(new Fire(p, board), p); board.addEntityAtSquare(new Fire(p, board), p);
} }
} }
if(!b.doesPositionExist(p)){ if(!b.doesPositionExist(p)){
......
...@@ -32,7 +32,6 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -32,7 +32,6 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
int fireFighterCount = 0; int fireFighterCount = 0;
int chance = 5; // Chance initiale en pourcentage int chance = 5; // Chance initiale en pourcentage
Random random = new Random(); Random random = new Random();
List<Position> positions = new ArrayList<>(); List<Position> positions = new ArrayList<>();
for (int x = 0; x < matrix.getRows(); x++) { for (int x = 0; x < matrix.getRows(); x++) {
for (int y = 0; y < matrix.getColumns(); y++) { for (int y = 0; y < matrix.getColumns(); y++) {
...@@ -47,7 +46,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -47,7 +46,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
for (Position pos : positions) { for (Position pos : positions) {
if (getStates(pos).isEmpty()) { if (getStates(pos).isEmpty()) {
if (fireCount < initialFireCount && random.nextInt(100) < chance) { if (fireCount < initialFireCount && random.nextInt(100) < chance) {
setSquare(new Square(pos, new Fire(pos, this, 1)), pos); setSquare(new Square(pos, new Fire(pos, this, 1)));
fireCount++; fireCount++;
if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount) { if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount) {
return; return;
...@@ -56,7 +55,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -56,7 +55,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
} }
if (fireFighterCount < initialFireFightersCount && random.nextInt(100) < chance) { if (fireFighterCount < initialFireFightersCount && random.nextInt(100) < chance) {
setSquare(new Square(pos, new FireFighter(pos, this, 1)), pos); setSquare(new Square(pos, new FireFighter(pos, this, 1)));
fireFighterCount++; fireFighterCount++;
if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount) { if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount) {
return; return;
...@@ -78,7 +77,8 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -78,7 +77,8 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
return matrix.get(position.x(), position.y()); return matrix.get(position.x(), position.y());
} }
public void setSquare(Square square, Position position) { public void setSquare(Square square) {
Position position = square.getPosition();
if (!(getStates(position).isEmpty())) { if (!(getStates(position).isEmpty())) {
return; return;
} }
...@@ -87,7 +87,8 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -87,7 +87,8 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
} }
} }
public void setSquare(Square square, Position position, boolean replaceStates) { public void setSquare(Square square, boolean replaceStates) {
Position position = square.getPosition();
if (!(getStates(position).isEmpty()) && !replaceStates) { if (!(getStates(position).isEmpty()) && !replaceStates) {
return; return;
} }
...@@ -124,7 +125,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -124,7 +125,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
public void clearCase(Position position) { public void clearCase(Position position) {
Square s = new Square(position); Square s = new Square(position);
s.addEntity(new EmptyEntity(position, step+1)); s.addEntity(new EmptyEntity(position, step+1));
setSquare(s, position, true); setSquare(s, true);
} }
public List<Position> updateToNextGeneration() { public List<Position> updateToNextGeneration() {
...@@ -148,6 +149,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> ...@@ -148,6 +149,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square>
} }
} }
//matrix.displayMatrix();
return changedPositions; return changedPositions;
} }
......
...@@ -87,7 +87,6 @@ public class Square { ...@@ -87,7 +87,6 @@ public class Square {
sumGreen /= count; sumGreen /= count;
sumBlue /= count; sumBlue /= count;
Color color = new Color((double)(sumRed),(double)(sumGreen),(double)(sumBlue), 1.0); Color color = new Color((double)(sumRed),(double)(sumGreen),(double)(sumBlue), 1.0);
System.out.println(color.toString());
return color; return color;
} }
......
...@@ -4,6 +4,10 @@ import java.util.ArrayList; ...@@ -4,6 +4,10 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
import model.Fire;
import model.FireFighter;
import model.Square;
public class Matrix<E> implements Iterable<E> { public class Matrix<E> implements Iterable<E> {
private ArrayList<ArrayList<E>> matrix; private ArrayList<ArrayList<E>> matrix;
private final int rows; private final int rows;
...@@ -59,7 +63,7 @@ public class Matrix<E> implements Iterable<E> { ...@@ -59,7 +63,7 @@ public class Matrix<E> implements Iterable<E> {
return this.rows; return this.rows;
} }
/*
public void displayMatrix() { public void displayMatrix() {
System.out.print(" "); System.out.print(" ");
for (int j = 0; j < columns; j++) { for (int j = 0; j < columns; j++) {
...@@ -71,10 +75,11 @@ public class Matrix<E> implements Iterable<E> { ...@@ -71,10 +75,11 @@ public class Matrix<E> implements Iterable<E> {
System.out.print("| "); System.out.print("| ");
for (int j = 0; j < columns; j++) { for (int j = 0; j < columns; j++) {
if (matrix.get(i).get(j) != null) { if (matrix.get(i).get(j) != null) {
if(matrix.get(i).get(j) instanceof Fire){ Square s = (Square) matrix.get(i).get(j);
if(s.getEntities().stream().anyMatch(p -> p instanceof Fire)){
System.out.print(" F | "); System.out.print(" F | ");
} }
else if(matrix.get(i).get(j) instanceof FireFighter){ else if(s.getEntities().stream().anyMatch(p -> p instanceof FireFighter)){
System.out.print(" ff | "); System.out.print(" ff | ");
}else{ }else{
System.out.print(" | "); System.out.print(" | ");
...@@ -92,7 +97,7 @@ public class Matrix<E> implements Iterable<E> { ...@@ -92,7 +97,7 @@ public class Matrix<E> implements Iterable<E> {
System.out.println(); System.out.println();
} }
} }
*/
private void validateIndex(int x, int y) { private void validateIndex(int x, int y) {
if (x < 0 || x >= rows || y < 0 || y >= columns) { if (x < 0 || x >= rows || y < 0 || y >= columns) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment