From 0c488bd0ddcad11127d9ac5ccb16102f7c684e07 Mon Sep 17 00:00:00 2001 From: ousseyn01 <ousseyn.ndiaye9@gmail.com> Date: Fri, 29 Nov 2024 21:21:34 +0100 Subject: [PATCH] NeighborManager is created and done --- .../java/model/update/NeighborManager.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/model/update/NeighborManager.java diff --git a/src/main/java/model/update/NeighborManager.java b/src/main/java/model/update/NeighborManager.java new file mode 100644 index 0000000..253304b --- /dev/null +++ b/src/main/java/model/update/NeighborManager.java @@ -0,0 +1,28 @@ +package model.update; + +import util.Position; + +import java.util.HashMap; +import java.util.*; + +public class NeighborManager { + private final Map<Position, List<Position>> neighbors = new HashMap<>(); + + public NeighborManager(int rowCount, int columnCount, Position[][] positions) { + for (int row = 0; row < rowCount; row++) { + for (int column = 0; column < columnCount; column++) { + List<Position> neighborList = new ArrayList<>(); + if (row > 0) neighborList.add(positions[row - 1][column]); + if (column > 0) neighborList.add(positions[row][column - 1]); + if (row < rowCount - 1) neighborList.add(positions[row + 1][column]); + if (column < columnCount - 1) neighborList.add(positions[row][column + 1]); + neighbors.put(positions[row][column], neighborList); + } + } + } + + public List<Position> getNeighbors(Position position) { + return neighbors.get(position); + } +} + -- GitLab