Как проверить наличие соседнего объекта в игре Пятнашки?
Имеется игра по типу пятнашек.
На данный момент генерируется поле клонов начального элемента 5х5, перемещение элементов осуществляется банальным обменом координат через контейнеры. Однако дальность перемещения объектов ничем не ограничена, т.е. допустимо перемещение как соседних элементов, так и через один, два и больше блоков. Необходимо ограничить дальность перемещения объектов.
Если я все правильно понимаю, нужно как-то обратиться к соседнему элементу. Подскажите, каким оператором это правильно сделать?
А вообще, я дурак в квадрате.
Потому что нет никакого массива. Неправильно описал вопрос.
По факту, поле элементов генерируется от начального созданием его клонов через Instantiate. Поэтому обратиться через "квадратные скобки" не получится. Есть элемент, есть его координаты. И у элемента есть соседи на известной дистанции.
В итоге, что делать? Переделывать генерацию с созданием массива, или можно обращаться к соседям по-другому?
HeroYukki, ты облегчишь себе жизнь, если разделишь игровую логику и интерфейс. Заметь, когда игровое поле не влазит в экран (стратегия какая-нибудь) - это совершенно естественно.
HeroYukki, если игровая логика проще описывается двумерным массивом с клетками, а не клетками с еще не реализованным "методом обращения к соседней" и суррогатным "обменом координат через контейнеры" - используй массив.
longclaps, настало время новых банальных вопросов.
Теперь игровое поле генерируется в массиве. Как получить индексы элемента по клику на него? Можно ли сделать это без циклов?