Thunderbots Project
Loading...
Searching...
No Matches
crease_defender_tactic.h
1#pragma once
2
3#include "proto/parameters.pb.h"
4#include "software/ai/evaluation/enemy_threat.h"
5#include "software/ai/hl/stp/tactic/crease_defender/crease_defender_fsm.h"
6#include "software/ai/hl/stp/tactic/dribble/dribble_fsm.h"
7#include "software/ai/hl/stp/tactic/tactic.h"
8#include "software/geom/segment.h"
9
10
31{
32 public:
38 explicit CreaseDefenderTactic(TbotsProto::AiConfig ai_config);
39
40 CreaseDefenderTactic() = delete;
41
42 DEFINE_TACTIC_DONE_AND_GET_FSM_STATE
43
53 const Point &enemy_threat_origin,
54 const TbotsProto::CreaseDefenderAlignment &alignment,
55 TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode =
56 TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT,
57 TbotsProto::BallStealMode ball_steal_mode = TbotsProto::BallStealMode::STEAL);
58
59 void accept(TacticVisitor &visitor) const override;
60
61 private:
62 void updatePrimitive(const TacticUpdate &tactic_update, bool reset_fsm) override;
63
64 std::map<RobotId, std::unique_ptr<FSM<CreaseDefenderFSM>>> fsm_map;
66 TbotsProto::AiConfig ai_config;
67};
Definition crease_defender_tactic.h:31
void accept(TacticVisitor &visitor) const override
Definition crease_defender_tactic.cpp:27
DEFINE_TACTIC_DONE_AND_GET_FSM_STATE void updateControlParams(const Point &enemy_threat_origin, const TbotsProto::CreaseDefenderAlignment &alignment, TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode=TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT, TbotsProto::BallStealMode ball_steal_mode=TbotsProto::BallStealMode::STEAL)
Definition crease_defender_tactic.cpp:32
Definition point.h:14
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition crease_defender_fsm.h:22
Definition tactic_fsm.h:16