From 544ea43db36e7544daae0259cf9cacc47ac96430 Mon Sep 17 00:00:00 2001 From: arnaudlabourel <arnaud.labourel@univ-amu.fr> Date: Tue, 5 Oct 2021 12:01:41 +0200 Subject: [PATCH] PointType moved to view --- src/main/java/model/CardinalDirection.java | 2 ++ src/main/java/model/Grid.java | 22 ++++++++++---------- src/main/java/model/Square.java | 7 ++----- src/main/java/view/GridTileCanvas.java | 2 -- src/main/java/{model => view}/PointType.java | 4 +++- 5 files changed, 18 insertions(+), 19 deletions(-) rename src/main/java/{model => view}/PointType.java (95%) diff --git a/src/main/java/model/CardinalDirection.java b/src/main/java/model/CardinalDirection.java index 5190e2b..8dc8a6a 100644 --- a/src/main/java/model/CardinalDirection.java +++ b/src/main/java/model/CardinalDirection.java @@ -6,6 +6,8 @@ public enum CardinalDirection { SOUTH(1, 0), WEST(0, -1); + public static final int NUMBER_OF_DIRECTIONS = values().length; + public final int deltaRow; public final int deltaColumn; diff --git a/src/main/java/model/Grid.java b/src/main/java/model/Grid.java index 6430f15..91444e3 100644 --- a/src/main/java/model/Grid.java +++ b/src/main/java/model/Grid.java @@ -1,11 +1,6 @@ package model; - -import javafx.scene.paint.Color; - import java.util.Iterator; -import java.util.List; import java.util.Optional; -import java.util.Random; public class Grid implements Iterable<Square> { private final int numberOfRows; @@ -21,6 +16,10 @@ public class Grid implements Iterable<Square> { * less than or equal to 0 */ public Grid(int numberOfRows, int numberOfColumns) { + if(numberOfRows <= 0) + throw new IllegalArgumentException("The number of rows must be positive and not equal to " + numberOfRows); + if(numberOfColumns <= 0) + throw new IllegalArgumentException("The number of columns must be positive and not equal to " + numberOfColumns); this.numberOfRows = numberOfRows; this.numberOfColumns = numberOfColumns; squares = new Square[getNumberOfRows()][getNumberOfColumns()]; @@ -32,6 +31,12 @@ public class Grid implements Iterable<Square> { initializeNeighborhood(); } + private void initializeSquares() { + for(int row = 0; row < getNumberOfRows(); row++) + for(int column = 0; column < getNumberOfColumns(); column++) + squares[row][column] = new Square(); + } + private void initializeNeighborhood() { for(int row = 0; row < getNumberOfRows(); row++) for(int column = 0; column < getNumberOfColumns(); column++) { @@ -44,12 +49,6 @@ public class Grid implements Iterable<Square> { } } - private void initializeSquares() { - for(int row = 0; row < getNumberOfRows(); row++) - for(int column = 0; column < getNumberOfColumns(); column++) - squares[row][column] = new Square(); - } - private boolean containsCoordinates(int row, int column){ return 0 <= row && row < numberOfRows && 0 <= column && column < numberOfColumns; } @@ -71,6 +70,7 @@ public class Grid implements Iterable<Square> { public Square getSquare(int rowIndex, int columnIndex) { return squares[rowIndex][columnIndex]; } + public int getNumberOfRows() { return numberOfRows; } diff --git a/src/main/java/model/Square.java b/src/main/java/model/Square.java index 3e11a1b..6675523 100644 --- a/src/main/java/model/Square.java +++ b/src/main/java/model/Square.java @@ -3,6 +3,7 @@ package model; import java.util.Optional; public class Square { + private Tile tile; private Square[] neighboringSquares; @@ -12,10 +13,9 @@ public class Square { } public Square(){ - this(null, new Square[4]); + this(null, new Square[CardinalDirection.NUMBER_OF_DIRECTIONS]); } - public Optional<Tile> getSquareTile(){ if(!hasTile()) return Optional.empty(); @@ -36,9 +36,6 @@ public class Square { return neighboringSquares[side.ordinal()].getSquareTile(); } - public void setNeighboringSquares(Square[] neighboringSquares) { - this.neighboringSquares = neighboringSquares; - } public void setNeighboringSquare(Square neighboringSquare, CardinalDirection direction) { this.neighboringSquares[direction.ordinal()] = neighboringSquare; } diff --git a/src/main/java/view/GridTileCanvas.java b/src/main/java/view/GridTileCanvas.java index b51c6d0..5dede2f 100644 --- a/src/main/java/view/GridTileCanvas.java +++ b/src/main/java/view/GridTileCanvas.java @@ -3,12 +3,10 @@ package view; import javafx.beans.NamedArg; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; -import javafx.scene.paint.Color; import model.*; import java.util.List; import java.util.Optional; -import java.util.Random; public class GridTileCanvas extends Canvas { diff --git a/src/main/java/model/PointType.java b/src/main/java/view/PointType.java similarity index 95% rename from src/main/java/model/PointType.java rename to src/main/java/view/PointType.java index 6cdd79f..a530943 100644 --- a/src/main/java/model/PointType.java +++ b/src/main/java/view/PointType.java @@ -1,4 +1,6 @@ -package model; +package view; + +import model.CardinalDirection; import java.util.List; -- GitLab