From 5aad3360ff6c3818b433461f29db983318048826 Mon Sep 17 00:00:00 2001 From: Yanis O <oualanyanis01@gmail.com> Date: Thu, 14 Nov 2024 22:30:30 +0100 Subject: [PATCH] =?UTF-8?q?Omission=20d'un=20param=C3=A8tre=20inutile=20da?= =?UTF-8?q?ns=20setSquare=20de=20Board?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/model/Board.java | 4 ++-- src/main/java/model/Fire.java | 1 + src/main/java/model/FireFighterScenario.java | 14 ++++++++------ src/main/java/model/Square.java | 1 - src/main/java/util/Matrix.java | 13 +++++++++---- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/model/Board.java b/src/main/java/model/Board.java index d88c897..b9ca3fd 100644 --- a/src/main/java/model/Board.java +++ b/src/main/java/model/Board.java @@ -25,7 +25,7 @@ public interface Board<S> { * @param state The state to set for the given position. * @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. @@ -64,7 +64,7 @@ public interface Board<S> { public int getStepNumber(); // 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); diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java index 75756ca..1f093b8 100644 --- a/src/main/java/model/Fire.java +++ b/src/main/java/model/Fire.java @@ -30,6 +30,7 @@ public class Fire implements Entity{ if(b.getStates(p).isEmpty()){ if(b.getStates(p).getMaxAge() < b.getStepNumber()){ board.addEntityAtSquare(new Fire(p, board), p); + } } if(!b.doesPositionExist(p)){ diff --git a/src/main/java/model/FireFighterScenario.java b/src/main/java/model/FireFighterScenario.java index b450177..dbe7d42 100644 --- a/src/main/java/model/FireFighterScenario.java +++ b/src/main/java/model/FireFighterScenario.java @@ -32,7 +32,6 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> int fireFighterCount = 0; int chance = 5; // Chance initiale en pourcentage Random random = new Random(); - List<Position> positions = new ArrayList<>(); for (int x = 0; x < matrix.getRows(); x++) { for (int y = 0; y < matrix.getColumns(); y++) { @@ -47,7 +46,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> for (Position pos : positions) { if (getStates(pos).isEmpty()) { 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++; if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount) { return; @@ -56,7 +55,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> } 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++; if (fireCount == initialFireCount && fireFighterCount == initialFireFightersCount) { return; @@ -78,7 +77,8 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> 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())) { return; } @@ -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) { return; } @@ -124,7 +125,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> public void clearCase(Position position) { Square s = new Square(position); s.addEntity(new EmptyEntity(position, step+1)); - setSquare(s, position, true); + setSquare(s, true); } public List<Position> updateToNextGeneration() { @@ -148,6 +149,7 @@ public class FireFighterScenario extends EntityScenario implements Board<Square> } } + //matrix.displayMatrix(); return changedPositions; } diff --git a/src/main/java/model/Square.java b/src/main/java/model/Square.java index 67a68b6..cdd616d 100644 --- a/src/main/java/model/Square.java +++ b/src/main/java/model/Square.java @@ -87,7 +87,6 @@ public class Square { sumGreen /= count; sumBlue /= count; Color color = new Color((double)(sumRed),(double)(sumGreen),(double)(sumBlue), 1.0); - System.out.println(color.toString()); return color; } diff --git a/src/main/java/util/Matrix.java b/src/main/java/util/Matrix.java index 6b5000b..5bbccfa 100644 --- a/src/main/java/util/Matrix.java +++ b/src/main/java/util/Matrix.java @@ -4,6 +4,10 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.NoSuchElementException; +import model.Fire; +import model.FireFighter; +import model.Square; + public class Matrix<E> implements Iterable<E> { private ArrayList<ArrayList<E>> matrix; private final int rows; @@ -59,7 +63,7 @@ public class Matrix<E> implements Iterable<E> { return this.rows; } - /* + public void displayMatrix() { System.out.print(" "); for (int j = 0; j < columns; j++) { @@ -71,10 +75,11 @@ public class Matrix<E> implements Iterable<E> { System.out.print("| "); for (int j = 0; j < columns; j++) { 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 | "); } - else if(matrix.get(i).get(j) instanceof FireFighter){ + else if(s.getEntities().stream().anyMatch(p -> p instanceof FireFighter)){ System.out.print(" ff | "); }else{ System.out.print(" | "); @@ -92,7 +97,7 @@ public class Matrix<E> implements Iterable<E> { System.out.println(); } } - */ + private void validateIndex(int x, int y) { if (x < 0 || x >= rows || y < 0 || y >= columns) { -- GitLab