From 3c486887ab56446a02d38d68e2f4514e0aa72f6d Mon Sep 17 00:00:00 2001
From: arnaudlabourel <arnaud.labourel@univ-amu.fr>
Date: Wed, 25 Oct 2023 16:50:00 +0200
Subject: [PATCH] refactoring grid
---
src/main/java/view/FirefighterGrid.java | 17 +++++++++++++++++
src/main/java/view/Grid.java | 3 +--
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java
index c4df123..c1b2274 100644
--- a/src/main/java/view/FirefighterGrid.java
+++ b/src/main/java/view/FirefighterGrid.java
@@ -19,10 +19,18 @@ public class FirefighterGrid extends Canvas implements Grid<ViewElement>{
@Override
public void repaint(List<Pair<Position, ViewElement>> positionedElements) {
+ clear(positionedElements);
paint(positionedElements);
paintLines();
}
+ private void clear(List<Pair<Position, ViewElement>> positionedElements) {
+ for (Pair<Position, ViewElement> positionElement : positionedElements) {
+ Position position = positionElement.getKey();
+ clearSquare(position.row(), position.column());
+ }
+ }
+
private void paint(List<Pair<Position, ViewElement>> positionedElements) {
for(Pair<Position, ViewElement> pair : positionedElements){
paintElementAtPosition(pair.getValue(), pair.getKey());
@@ -31,10 +39,15 @@ public class FirefighterGrid extends Canvas implements Grid<ViewElement>{
@Override
public void repaint(ViewElement[][] elements) {
+ clear();
paint(elements);
paintLines();
}
+ private void clear() {
+ getGraphicsContext2D().clearRect(0,0,getWidth(), getHeight());
+ }
+
private void paint(ViewElement[][] elements) {
for(int column = 0; column < columnCount; column++)
for(int row = 0; row < rowCount; row++){
@@ -77,4 +90,8 @@ public class FirefighterGrid extends Canvas implements Grid<ViewElement>{
getGraphicsContext2D().setFill(color);
getGraphicsContext2D().fillRect(row*squareHeight,column*squareWidth,squareHeight,squareWidth);
}
+
+ private void clearSquare(int row, int column){
+ getGraphicsContext2D().clearRect(row*squareHeight,column*squareWidth,squareHeight,squareWidth);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/view/Grid.java b/src/main/java/view/Grid.java
index d87897b..b95d59f 100644
--- a/src/main/java/view/Grid.java
+++ b/src/main/java/view/Grid.java
@@ -28,8 +28,7 @@ public interface Grid<E> {
void repaint(E[][] elements);
/**
- * Set the dimensions of the grid to the specified column count, row count, square width, and square height.
- * This method adjusts the dimensions of the grid to the given number of columns, number of rows, square width,
+ * Set the dimensions of the grid to the specified number of columns, number of rows, square width,
* and square height.
*
* @param columnCount The new number of columns in the grid.
--
GitLab