From 413c0a08c662848bb2a0bcbfee4a32df13cd614c Mon Sep 17 00:00:00 2001 From: kulisak12 Date: Fri, 23 Sep 2022 13:28:22 +0200 Subject: [PATCH] =?UTF-8?q?Strategick=C3=A1:=20Speci=C3=A1ln=C3=AD=20p?= =?UTF-8?q?=C5=99=C3=ADpad=20pro=20pathfind?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klient/strategy.cpp | 3 +++ klient/strategy.py | 3 +++ 2 files changed, 6 insertions(+) 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