Обертывание близких "соседей" вокруг доски в пределах 2D-массива
Привет, в основном моя проблема выглядит примерно так.
Когда моя часть может быть окружена 8 другими частями, я могу определить их положение. Например,
.....
.....
..С..
.....
.....
Здесь я могу найти положение точек, окружающих "S", потому что если S-это массив[2][2], то точка к северу от него будет просто массивом[2][1].
Однако моя проблема возникает, когда моя фигура находится прямо в углу доски или внизу, поэтому у меня больше нет этого симметричного расположения 8 точек вокруг нее.
Надеюсь, эта картина сделает мой вопрос гораздо более ясным!
screeshot — Postimages[^]
screeshot — Postimages[^]
Как вы можете видеть, "соседи" выбранной фигуры теперь обернуты вокруг доски. Я просто не могу понять, как я могу определить местоположение этих частей сейчас.
Что я уже пробовал:
Я пробовал проверять с помощью таких условий, как
if (row - 1 < 0){ neighbourRow = grid.getRow(); }
Это один из таких примеров типов условий, которые я реализовывал. Очевидно, однако, что довольно утомительно пытаться вручную предвидеть каждый вид позиции, в которой будет находиться выбранная фигура. Как бы вы, ребята, это сделали?