From b85d5d3d394afb17fd088c1a94c520dec9bfc615 Mon Sep 17 00:00:00 2001 From: t22007439 <romain.toullec@etu.univ-amu.fr> Date: Fri, 8 Nov 2024 16:51:34 +0100 Subject: [PATCH] ajout de state et SubMatrixInitializer --- src/main/java/matrix/SubMatrixInitializer.java | 16 ++++++++++++++++ src/main/java/model/State.java | 11 ++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 src/main/java/matrix/SubMatrixInitializer.java diff --git a/src/main/java/matrix/SubMatrixInitializer.java b/src/main/java/matrix/SubMatrixInitializer.java new file mode 100644 index 0000000..79bb890 --- /dev/null +++ b/src/main/java/matrix/SubMatrixInitializer.java @@ -0,0 +1,16 @@ +package matrix; + +public class SubMatrixInitializer<T> implements MatrixInitializer<T> { + private final Matrix<T> originalMatrix; + private final Coordinate corner; + + public SubMatrixInitializer(Matrix<T> originalMatrix, Coordinate corner) { + this.originalMatrix = originalMatrix; + this.corner = corner; + } + + @Override + public T initialValueAt(Coordinate coordinate) { + return originalMatrix.get(coordinate.plus(corner)); + } +} diff --git a/src/main/java/model/State.java b/src/main/java/model/State.java index 1954558..65e3695 100644 --- a/src/main/java/model/State.java +++ b/src/main/java/model/State.java @@ -44,7 +44,12 @@ public interface State<S> { * @return The number of times the specified state appears in the list of neighbors. */ static <T> int count(T state, List<T> neighbours) { - //TODO: à compléter - return 0; + int count = 0; + for (T neighbour : neighbours) { + if (neighbour.equals(state)) { + count++; + } + } + return count; } -} \ No newline at end of file +} -- GitLab