Я делаю простую сетку, как игра (сетка - матрица 128x128), и матрица заполняется 0 и 1 (1 пуля может пройти, 0 пуля не может пройти, не может продолжать путешествовать больше, также У меня пуля 32 ячейки). Я стою, например, в позиции (32,89). Может ли кто-нибудь предложить мне какой-нибудь эффективный алгоритм для расчета всех стреляющих полей? (Я знаю, чтобы рассчитать простой способ с простой проверкой каждого поданного в диапазоне, но мне интересно, есть ли лучшая идея)Найти все стрелялки в сетке
ответ
Существует более эффективный алгоритм. Эрик Липперт написал отличную серию теневого кастинга в сетчатых играх. Если я правильно понимаю, это именно то, что вам нужно.
К сожалению, нет лучшего способа.
Было бы возможно, если бы точки, где вы стреляли, где позиции в списке. В этом случае вы можете устранить некоторые проверки, удалив из списка другие элементы.
Если ваша сетка не изменяется, вы можете оценить ее для каждой позиции и сохранить ее для последующего использования. Это будет использовать память 128 * 128 * (2pi * range), которая составляет около 4 МБ. Если это так, вы можете сохранить его для каждого возможного угла, что приведет к максимальному диапазону 2pi * range = 202, а затем выполнить 202 проверки вместо 1024 (32 * 32), необходимых ранее.
- 1. найти все возможные маршруты в сетке NxN
- 2. SWI-Пролог найти все пути в сетке
- 3. Как найти все узлы в сетке
- 4. Java Игра: Стрелялки Bullet
- 5. Создание спрайт-стрелялки
- 6. счетчик для стрелялки
- 7. Найти смещение в сетке
- 8. Космические захватчики ASCII, стрелялки останавливаются
- 9. const_cast и стрелялки собственной ножка
- 10. Рекурсивно найти слово в сетке
- 11. найти соседние вертикальные элементы в сетке
- 12. Найти изолированные группы блоков в сетке
- 13. Все возможные ходы в сетке 5x5?
- 14. Использовать все координаты в сетке [python]
- 15. Не все строки отображаются в ng-сетке
- 16. Найти ближайшую ценность в сетке 2d C#
- 17. Найти наиболее представительный цвет в сетке пикселей
- 18. Python 3 ~ Найти положение буквы в сетке
- 19. Как найти дорожные корыта в сетке
- 20. Как найти n плиток в сетке - пролог
- 21. Использование координат, чтобы найти плитку в сетке
- 22. Как найти идентификатор в сетке данных silverlight
- 23. Как найти количество Цветочных объектов в сетке?
- 24. Алгоритм, чтобы найти список позиций на сетке
- 25. Конондически находить все способы сосредоточиться на сетке
- 26. Найти все пути длины L в сетке 2 D в C++
- 27. Умный способ найти узлы в радиусе в сетке C#?
- 28. Найти все корни нелинейной функции
- 29. Extjs - получить все данные на сетке
- 30. Найти расстояние между 2 точками на сетке
ли пули путешествовать только в отдельных направлениях? Вы можете снимать только под углом 90 ° (или 45 °)? –