|
@ -289,6 +289,9 @@ bool is_field_accessible(Field* f, Team* t) |
|
|
// Pokud žádná cesta neexistuje, vrátí STAY.
|
|
|
// Pokud žádná cesta neexistuje, vrátí STAY.
|
|
|
Direction pathfind(Member* m, Field* goal) |
|
|
Direction pathfind(Member* m, Field* goal) |
|
|
{ |
|
|
{ |
|
|
|
|
|
// speciální případ: voják už je v cíli
|
|
|
|
|
|
if (m->field == goal) return STAY; |
|
|
|
|
|
|
|
|
std::set<Field*> explored; |
|
|
std::set<Field*> explored; |
|
|
std::queue<Field*> queue; |
|
|
std::queue<Field*> queue; |
|
|
queue.push(goal); |
|
|
queue.push(goal); |
|
|