Понедельник, 11 Ноября 2024, 12:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проверка целостности конструкции
SmallNibblerДата: Понедельник, 25 Июля 2016, 18:53 | Сообщение # 1
частый гость
Сейчас нет на сайте
Есть конструкция (2D массив) состоящая из блоков, размером например 5Х5. В центре блок-ядро (core), и несколько обычных блоков вокруг него. Мне нужно пустить волну, от ядра, и проверить целостность этой конструкции. А все отстающие от общей конструкции блоки занести в массив. Допустим ядро на координатах 2:2, то есть в центре, и ещё три блок, первый на 2:0, второй на 2:1, и третий на 2:4. Пускаем волну от ядра в четырёх направлениях, получаем второй блок, пускаем ещё раз, далее получаем первый, третий блок волна не заденет никак.
Теперь вопросы:
1.Как мне реализовать этот алгоритм так, что бы блоки не проверялись по два раза, это возможно?
2.Как мне узнать какие блоки остались не задетыми волной?
3.Эту операцию мне нужно будет проводить часто, возможно есть менее затратный способ?

Распишите пожалуйста всё подробно, заранее спасибо!


Сообщение отредактировал SmallNibbler - Понедельник, 25 Июля 2016, 18:53
LightsoftДата: Четверг, 28 Июля 2016, 16:12 | Сообщение # 2
частый гость
Сейчас нет на сайте
SmallNibbler, Каждому блоку завести номер локальной волны, если новый номер выпущенной волны > чем номер предыдущей волны, то блок уже попадал под волну. Изначально все блоки не имеют номера волны. По этому номеру уже узнавать кто участвовал, а кто нет, а так же узнавать какие блоки можно игнорировать в проверке. Номер волны каждый раз инкрементируется. Ну и соотвественно прерывать волну, как только любой из блоков попал под нужное условие.

Сообщение отредактировал Lightsoft - Четверг, 28 Июля 2016, 16:13
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг