Skip to content
Snippets Groups Projects
NeighborManager.java 1009 B
Newer Older
  • Learn to ignore specific revisions
  • 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);
        }
    }