オフェンス¶
アクション¶
ボールの所有権をもつロボットが、ボールを操作して行う行動をアクションとする。 ボールは1つなので、複数台のロボットが同時にボールの所有権を持つことはなく、一連のオフェンスはアクションの列として表現される。
アクションの本体は、ロボットがボールを操作する瞬間の集合である。 例えば、パスやシュートならば、ボールを蹴る瞬間であり、ドリブルならばドリブルしている間である。
ただし、これだけだとオフェンス中にどのアクションにも属さない状態が生じるので、前のアクションの本体が終了したとき、次のアクション が始まるものとする。(これらの時間範囲はアクションに含まれるだけであって、アクションの本体であるわけではない) 例えば、パスの場合ではボールが前のロボットからキックされて自分の方に転がり始めた瞬間からパスアクションが始まり、次のロボットへボールを蹴り出した瞬間にパスアクションが終了する。 ここで、キックに失敗したときは上位レイヤーで認知され、アクション列が作り直される。
また、アクションではアクション本体以外のステージも持つ。
- PRE_STAGE: アクション本体が始まる前に行うステージ
- ON_STAGE: アクション本体が行われるステージ
- POST_STAGE: アクション本体が終わった後に行うステージ
パスアクション¶
PRE_STAGE¶
パスを受ける地点から離れすぎない範囲で、マークを振り切るための動きを行う。
暫定実装¶
パスを受け取る地点へ移動する
ON_STAGE¶
パスを受け取る地点へ移動し、ボールを受け取って次のターゲットへキックする
POST_STAGE¶
特になし
シュートアクション¶
正直このアクションは必要かどうかは微妙 パスアクションの特殊化として扱うべきかもしれない