Position Action Functions
What is a position action function?
Action functions are called by plays for each robot position
that is present every frame. The action function for each robot
position runs the appropriate skill for that robot position provided the
state of the system and more importantly the current play. For example
while in the loose defense play, the blocker runs the tandemblocker skill.
Action functions tend to be quite simple and straight forward since they often just
initialize and run one of a robots skills. However, in some plays our strategy may decide to
run one skill or another, so some simple checks can be found in the code.
Where are position action functions located?
robocup-ai-2002/positions/2002positions/position/p_playname.cpp/h
Each position has a separate action function defined for every play in a separate file in this
folder.
Position Action Functions and Special Op Positions:
Special Op positions have dummy action functions. This is because special op
positions are intended to be controlled by another position. The special op
creator is controlled by the creator, the special op defender is controlled by
the defender, and the special op aggressor is controlled by the aggressor. In the
controlling robot's action function a test is made to see if the appropriate special
op position is present, and if so it's proper skill is run by the controlling position. The
idea behind this is that special op positions are intended to augment or facilitate
other positions. By having the controlling robot instruct the special op what to do, it is
easier to facilitate team behavior.