@ -289,6 +289,9 @@ bool is_field_accessible(Field* f, Team* t)
// Pokud žádná cesta neexistuje, vrátí STAY.
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::queue<Field*> queue;
queue.push(goal);
@ -202,6 +202,9 @@ def pathfind(member: Member, goal: Field) -> Direction:
Pokud žádná cesta neexistuje, vrátí STAY.
"""
# speciální případ: voják už je v cíli
if member.field == goal:
return Direction.STAY
# BFS od cíle k vojákovi
# tento směr umožní rychle zjistit, že cesta neexistuje,
# a také jednoduše získat první krok