Thunderbots Project
Loading...
Searching...
No Matches
PassDefenderTactic Class Reference

#include <pass_defender_tactic.h>

Inheritance diagram for PassDefenderTactic:
Collaboration diagram for PassDefenderTactic:

Public Member Functions

 PassDefenderTactic (TbotsProto::AiConfig ai_config)
 
void updateControlParams (const Point &position_to_block_from, TbotsProto::BallStealMode ball_steal_mode)
 
void accept (TacticVisitor &visitor) const override
 
- Public Member Functions inherited from Tactic
 Tactic (const std::set< RobotCapability > &capability_reqs_)
 
virtual bool done () const =0
 
virtual std::string getFSMState () const =0
 
const std::set< RobotCapability > & robotCapabilityRequirements () const
 
std::set< RobotCapability > & mutableRobotCapabilityRequirements ()
 
void setLastExecutionRobot (std::optional< RobotId > last_execution_robot)
 
std::map< RobotId, std::shared_ptr< Primitive > > get (const WorldPtr &world_ptr)
 

Additional Inherited Members

- Protected Attributes inherited from Tactic
std::optional< RobotId > last_execution_robot
 

Detailed Description

A pass defender moves to a location on the field to block a potential pass between enemy robots + intercepts and chips the ball away when an active enemy pass is directed towards the defender.

Constructor & Destructor Documentation

◆ PassDefenderTactic()

PassDefenderTactic ( TbotsProto::AiConfig  ai_config)
explicit

Creates a new PassDefenderTactic

Parameters
ai_configThe AI configuration

Member Function Documentation

◆ accept()

void accept ( TacticVisitor visitor) const
overridevirtual

Accepts a Tactic Visitor and calls the visit function on itself

Parameters
visitorA Tactic Visitor

Implements Tactic.

◆ updateControlParams()

void updateControlParams ( const Point position_to_block_from,
TbotsProto::BallStealMode  ball_steal_mode 
)

Update control params for this tactic

Parameters
position_to_block_fromThe location on the field to block enemy passes from
ball_steal_modeThe pass defender's aggressiveness towards the ball

The documentation for this class was generated from the following files: