В настоящее время я просто использую два битовых вектора, один для красных блоков и один для синих.Блоки укладываются поверх другого в сетке 10х10.Когда взрыв происходит от бомбы только для красных блоков в вертикальном направлении, я просто делаю простую математику и проверяю битовый вектор на предмет попадания, поэтому худшее, с чем мне приходится иметь дело, - это 10 проверок и быстрый поиск.
Теперь я хочу сделать так, чтобы бомба могла уничтожить все подключенные красные блоки из начального блока (это означает вертикальное, горизонтальное или диагональное расстояние друг от друга).прочь подойти к этому?Распределение является случайным, но обычно что-то вроде 40/60.Как я уже сказал, мне нужно работать с битвектором, идентификаторами блоков и типами блоков, на которых они основаны.
Лучше всего проверять 1 или 2 внешних кольца блоков каждыйкадр в отдельном потоке для разделения работы (т. е. 20 проверок на кадр) или есть более элегантный способ сделать это?