Я роблю гру Tower Defense у Flash без попередньо визначеного шляху.
Хоча моя сітка розміром 40x40 (невелика?), A * бореться при перерахунку кожного разу. Тож я зробив власну модифікацію, щоб полегшити перерахунок, і кількість доторканих комірок знизилася до 900 (при зміні біля кореня). Він все ще замерзає на дуже короткий, але помітний час, коли розміщують нову вежу.
Це проблема з реалізацією, або 40x40 просто занадто багато?
Редагувати:
Структура мого коду:
- Усі дані зберігаються у 2d масиві комірок.
- Кожна комірка містить батьківський у напрямку шляху (1-8 за годинниковою стрілкою) та побітово кодований масив своїх дітей на шляху (кожен біт представляє дитину).
- Пошук здійснюється A * з оцінкою евклідової відстані.