Skip to content
This repository has been archived by the owner on Jan 14, 2024. It is now read-only.

壁用のaction #89

Open
milkcocoa0902 opened this issue Oct 3, 2018 · 0 comments
Open

壁用のaction #89

milkcocoa0902 opened this issue Oct 3, 2018 · 0 comments
Assignees
Projects

Comments

@milkcocoa0902
Copy link
Owner

ディフェンスエリア手前にロボットを数台置いて壁を作るのがrobocupでは主流となっている。
そこで、壁用のactionを作成する必要がある。
基本的には move と同様の構成のactionとなるが、ボールを蹴るという点が両者の最大の違いとなる。

仕様

最低限の仕様は以下の通り

class clear : public base{
private:
  // (1)
  model::command::position pos_;
  model::command::KickFlag kick_;
  
public:
  using base::base;
  void moveTo(model::command::position _pos); // (2)
  void kickType(model::command::kickType _kick, double _power); // (3)
  model::command execute() override; // (4)
};

1. メンバ

model::command::position pos_ : 移動先の座標
model::command::KickFlag kick_ : キックタイプとパワーのtuple. キックタイプは model::command::kickType を参照

2. moveTo()関数

引数に移動先の座標を受け取るので、それをメンバに登録してください。

3. kickType()関数

引数にキックタイプとパワーを受け取るので、それをtuple化してメンバに格納してください

4. execute()関数

実際にactionを定義する関数です。
基本的な処理内容は action::move::execute() と変わりませんが、commandにキック指令を登録するようにしてください。
また、向く方向はボールの方向です。ただし、ゴールの方向には向かないものと考えてください。(ひとまずはこれは気にしなくてもいいかも)

実装するファイル

src
└── ai
    └── game
        └── action
            ├── clear.cpp
            └── clear.hpp

備考

  • クラスは ai::game::action 名前空間に登録してください

関連ファイル

  • 参考
    • ai/game/action/move.(hpp | cpp)
  • 各モデル
    • ai/model/ball.(hpp | cpp)
    • ai/model/robot.(hpp | cpp)
    • ai/model/world.(hpp | cpp)
  • command
    • ai/model/command.(hpp | cpp)
  • チームカラー
    • ai/model/teamColor.hpp
@milkcocoa0902 milkcocoa0902 added this to To do in Game via automation Oct 3, 2018
@TasukuToiyama TasukuToiyama moved this from To do to In progress in Game Jan 20, 2019
@milkcocoa0902 milkcocoa0902 self-assigned this Jan 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Game
  
In progress
Development

No branches or pull requests

1 participant