diff --git a/app/src/main/java/model/ArrayGrid.java b/app/src/main/java/model/ArrayGrid.java index f6d943d93f0f1d2bd52f47c4a3cee23beef4ea65..30ec1d071896f35d073d51a2b56b43e43973ee90 100644 --- a/app/src/main/java/model/ArrayGrid.java +++ b/app/src/main/java/model/ArrayGrid.java @@ -1,9 +1,9 @@ package model; -public abstract class ArrayGrid implements Grid { +public class ArrayGrid implements model.Grid { //Tableau pour stocker les cellules - Cell[][] cells ; + model.Cell[][] cells ; //Nombre de lignes int numberOfRows ; @@ -14,7 +14,7 @@ public abstract class ArrayGrid implements Grid { //Constructeur //Une grille avec les nombres de lignes et de colonnes passés en arguments //Ce constructeur initialise le tableau cells aux bonnes dimensions et remplit les cases avec des instances de SquareCell - public void ArrayGrid(int numberOfRows, int numberOfColumns) { + public ArrayGrid(int numberOfRows, int numberOfColumns) { //Traitement des exceptions pour eviter que le programme se termine non connecté if (numberOfRows <= 0 && numberOfColumns <= 0) throw new IllegalArgumentException("valeur argument négatif ou nul"); @@ -24,4 +24,33 @@ public abstract class ArrayGrid implements Grid { cells[i][j] = new SquareCell() ; } + //Demander par l'exercice + public void color(ColorGenerator[] colorGenerator) { + for (int i = 0 ; i < numberOfRows ; i++) + for (int j = 0 ; j < numberOfColumns ; j++) { + colorGenerator = new ColorGenerator[]{} ; + //cells[i][j].setColor(colorGenerator.nextColor()); + } + } + + @Override + public void color(ColorGenerator colorGenerator) { + } + + @Override + public model.Cell getCell(int row, int column) { + return null; + } + + @Override + public int getNumberOfRows() { + return 0; + } + + @Override + public int getNumberOfColumns() { + return 0; + } + + } diff --git a/app/src/main/java/model/GrayGrid.java b/app/src/main/java/model/GrayGrid.java index 02cb8ee2f6dbc07f694cc48ba5ea0a095fabe8cd..b3078cc3369573cf5401964bd5e11742f9d53e23 100644 --- a/app/src/main/java/model/GrayGrid.java +++ b/app/src/main/java/model/GrayGrid.java @@ -9,6 +9,12 @@ public class GrayGrid implements Grid{ this.numberOfRows = numberOfRows; this.numnberOfColumns = numberOfColumns; } + + @Override + public void color(ColorGenerator colorGenerator) { + + } + /** * Return the cell located at the given coordinates in the grid. * diff --git a/app/src/main/java/model/Grid.java b/app/src/main/java/model/Grid.java index 64341b4de0f789c8307834655f856691218cd242..cedbaca3df49b6f663b538b1ab604ad2c6c22b71 100644 --- a/app/src/main/java/model/Grid.java +++ b/app/src/main/java/model/Grid.java @@ -8,6 +8,10 @@ public interface Grid { * @param column the column of the returned cell * @return the cell located in row {@code row} and in column {@code column} */ + + //Méthode demandée par l'exercice + public void color (ColorGenerator colorGenerator); + Cell getCell(int row, int column); /** diff --git a/app/src/main/java/model/SquareCell.java b/app/src/main/java/model/SquareCell.java index 679509bd607e6009573d1eee600c44079c90f845..411fbdf69e1cbb6c858d9bcd007ea8299c366ed4 100644 --- a/app/src/main/java/model/SquareCell.java +++ b/app/src/main/java/model/SquareCell.java @@ -27,6 +27,7 @@ public class SquareCell extends AbstractCell{ //Constructeur 3 : un constructeur avec deux paramètres : "Color color" et "ArrayList<Cell> neighbours //qui consrtuit une cellule de couleur color et dont les cellules voisines sont neighours + //@Override public void SquareCell(Color color, List<Cell> neighbours) { this.neighbours = neighbours ; this.color = color ; diff --git a/app/src/main/java/model/UniformColorGenerator.java b/app/src/main/java/model/UniformColorGenerator.java new file mode 100644 index 0000000000000000000000000000000000000000..517796024948f978ebbfd8f41f4a985af7e1ad32 --- /dev/null +++ b/app/src/main/java/model/UniformColorGenerator.java @@ -0,0 +1,20 @@ +//7.2 Classe UniformColorGenerator +// Cette classe correspong à un coloriage uniforme de la grille + +package model; +import javafx.scene.paint.Color; + +public class UniformColorGenerator implements ColorGenerator{ + + Color couleur ; + + //Constructeur de la classe + public void UniformColorGenerator(Color couleur) { + this.couleur = couleur ; + } + + @Override + public Color nextColor(Cell cell) { + return this.couleur ; + } +} diff --git a/app/src/main/java/view/MatrixPane.java b/app/src/main/java/view/MatrixPane.java index f20ed0348c4905cb696c5158d80c6710e68109b7..e43d3ef1be63be081756a4dfc1c06b4e0d8566ed 100644 --- a/app/src/main/java/view/MatrixPane.java +++ b/app/src/main/java/view/MatrixPane.java @@ -28,13 +28,15 @@ public class MatrixPane extends GridPane { this.tileHeight = tileHeight; this.numberOfColumns = numberOfColumns; this.numberOfRows = numberOfRows; + // TODO replace by new ArrayGrid(numberOfRows, numberOfColumns) - cellGrid = new GrayGrid(numberOfRows, numberOfColumns); + //Changement du constructeur "GrayGrid" en "ArrayGrid" + //cellGrid = new GrayGrid(numberOfRows, numberOfColumns); + cellGrid = new model.ArrayGrid(numberOfRows, numberOfColumns); initMatrix(); } - - public void setGameController(GameController controller){ + public void setGameController(GameController controller) { this.controller = controller; } diff --git a/app/src/test/java/model/ArrayGridTest.java b/app/src/test/java/model/ArrayGridTest.java index b63b2e3a521518598749ae7d67ae8ac58ec5e812..67f01c9a9a41b8aa6d554a7a32bf776a1137c6c9 100644 --- a/app/src/test/java/model/ArrayGridTest.java +++ b/app/src/test/java/model/ArrayGridTest.java @@ -11,12 +11,10 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; class ArrayGridTest { - // TODO - // uncomment -/* + private ArrayGrid arrayGridThreeFour; private final ArrayGrid arrayGridTwoTwo = new ArrayGrid(2,2); - +public static void(String arg[]) {} @BeforeEach void initializeArrayGridThreeFour(){ arrayGridThreeFour = new ArrayGrid(3,4); @@ -89,5 +87,5 @@ class ArrayGridTest { assertThat(iterator.hasNext()).isFalse(); } - */ + } \ No newline at end of file