diff --git a/klient/strategy.cpp b/klient/strategy.cpp index f7e00ec..f16d13b 100644 --- a/klient/strategy.cpp +++ b/klient/strategy.cpp @@ -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 explored; std::queue queue; queue.push(goal); diff --git a/klient/strategy.py b/klient/strategy.py index 7916ba1..509cd20 100755 --- a/klient/strategy.py +++ b/klient/strategy.py @@ -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