rj_gameplay.play.penalty_defense
Module Contents
Classes
Create a collection of name/value pairs. |
|
Coordinate full-team behaviors via Tactics. Assumes number of Roles matches number of robots on the field. |
- class rj_gameplay.play.penalty_defense.State(*args, **kwds)
Bases:
enum.Enum
Create a collection of name/value pairs.
Example enumeration:
>>> class Color(Enum): ... RED = 1 ... BLUE = 2 ... GREEN = 3
Access them by:
attribute access:
>>> Color.RED <Color.RED: 1>
value lookup:
>>> Color(1) <Color.RED: 1>
name lookup:
>>> Color['RED'] <Color.RED: 1>
Enumerations can be iterated over, and know how many members they have:
>>> len(Color) 3
>>> list(Color) [<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]
Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.
- INIT
- ACTIVE
- class rj_gameplay.play.penalty_defense.PenaltyDefense
Bases:
stp.play.Play
Coordinate full-team behaviors via Tactics. Assumes number of Roles matches number of robots on the field. Ends when SituationAnalysis switches the Play, so no is_done() necessary. See tick() for more details on behavior.
- tick(world_state: stp.rc.WorldState) List[rj_msgs.msg.RobotIntent]
Performs one “tick” of the specified play.
- This should:
Determine if role assignment is necessary.
If so, perform role assignment with self.assign_roles().
Tick Tactics to aggregate robot_intents with self.get_robot_intents().
- Parameters:
world_state – Current state of the world.
- Returns:
list of robot intents where index = robot_id