Мне требуется для одной мини-игры сделать так, чтобы области которые имеют границы по горизонтали и вертикали (т.е. диагональное пересечение сразу отпадает) выделялись как одна единая область.
СУТЬ В ТОМ, что у меня есть поле в виде океана, похожее как в шахматах или морском бою. В начале игры случайным образом по всему полю появляются острова с сердцами, которые можно разрушить.
Те острова которые пересекают по вертикали и горизонтали - становятся одним островом, а их сердца заменяются на других юнитов (те же сердца, но на 1 уровень выше). При чём, чем кол-во островов в одной области выше - тем выше уровнем и сердца (т.е. остров состоящий из 7 областей будет иметь соответственно 7 уровень сердец)
Те острова которые пересекают по вертикали и горизонтали - становятся одним островом, а их сердца заменяются на других юнитов (те же сердца, но на 1 уровень выше). При чём, чем кол-во островов в одной области выше - тем выше уровнем и сердца (т.е. остров состоящий из 7 областей будет иметь соответственно 7 уровень сердец)
Не приложу ума, каким образом это можно сделать?
Из вариантов что мне пришли в голове:
Из вариантов что мне пришли в голове:
- Создавать проверку условий каждой области, и исходя из того, есть ли в соседней клетке сердце - повышать уровень обоих клеток на 1 (но тогда возникает проблема с повторным условием, когда например в клетке A3, являющейся соседом клетки A2 - тоже имеет сердце. Нужно как-то создавать условие предусматривающее и это).
- Как-то добавлять каждое сердце, из пересекающих в один отряд, через функцию "отряд". Однако возникает проблема того, что кол-во островов полностью рандомное и нужно учитывать каждый. Получается что для этого нужен очень громоздкий триггер, с если-то-иначе действие для каждой последующей клетки.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. rsfghd
Ред. RiderOfBalance
Допустим чтобы эти 2 области, через триггеры стали 1 единой областью (ну или одна из них "поглотила" другую в себя).
(Ниже прикрепил пример)
Ред. MpW