|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2012
Сообщений: 297
|
Как можно проверить ячейки вокруг новой ячейки?
Здравствуйте.
Имеется поле, где добавлено определённое количество ячеек A по высоте и ширине. На это поле я добавляю новые ячейки B. Они добавляются в самые разные стороны НО от предыдущей ячейки (то есть, они связаны с предыдущей ячейкой 100%). Как можно сделать так, чтобы происходила проверка на занятость ячеек вокруг новой ячейки, чтобы избавиться от эффекта нагромождения ячеек друг на друга? |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Вот и настало оно Это нужно алгоритм поиска путей, но какой, это Вы и я будем ждать ответа уже ГУРУ.
|
|
|||||
Регистрация: Aug 2012
Сообщений: 297
|
Красным обведены ячейки, которые нагромождены друг на друга. Синим обведены ячейки, которые НЕ нагромождены друг на друга. Вы меня правильно поняли? |
|
|||||
Регистрация: Aug 2012
Сообщений: 297
|
Да, я ошибся. 33, 42, 43, 63 до 67 и 72 это правильные.
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну вроде как надо проверять углы вокруг ячейки, по три ячейки. Если хоть один уголок из трех ячеек полностью заполнен, то нельзя сюда ходить.
Ну, сам алгоритм можно слегка ускорить, проверяя сначала крест, поскольку каждая ячейка креста участвует в двух уголках, и если она пустая, то оба этих уголка можно дальше не рассматривать как опасные. Скажем, если верхняя ячейка пустая, то остается проверить только нижнюю. Но если полная, то надо смотреть левую и правую. Если они полные, то смотреть самые угловые.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 07.02.2014 в 01:51. |
|
|||||
Регистрация: Aug 2012
Сообщений: 297
|
Глобальная проблема, так это в том, что ячейки могут добавиться так, что вокруг будет уже занято, как квадрат.
Думаю, что для решения этой проблемы, потребуется знание количества добавляемых ячеек, которые и создают "случайную дорогу", потом какое-нибудь ограничение, например, 10, если есть свободных 10 ячеек, то добавляем в случайную сторону продолжение дороги, а если с какой-то стороны не будет, то в определённую сторону. |
|
|||||
Регистрация: Aug 2012
Сообщений: 297
|
Я хочу сделать так, чтобы создавалась дорога, а нагромождения будут создавать, как бы, "обходные пути".
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
Часовой пояс GMT +4, время: 08:40. |
|
« Предыдущая тема | Следующая тема » |
|
|