Нужна помощь с придумыванием логики программы!

У меня есть сетка с виртуальными координатами(например -1:1, 0:0, 3:-2) и пользователь должен нажать на(выбрать) ячейку и поставить туда какой-то объект а уже этот объект как-то должен повлиять на объекты вокруг него(например ставим объект на ячейку с координатами 0:0 а на соседней ячейке 1:0 находиться другой объект и они разных типов по этому конфликтуют и вместе дают меньше очков) такая должна быть логика.

Единственная идея которая у меня есть это пройти весь массив, найти все соседние ячейки и их объекты сравнить как-то по их типам и понять они плохо сочетаются или наоборот.

Спасибо за любую идею и если чего не понятно то постараюсь объяснить более хорошо)


Ответы (1 шт):

Автор решения: Sergei Kirjanov

Если массив не большой, то можно весь пройти. Если большой -- можно посмотреть пространственные индексы (Spatial index).

→ Ссылка