etrobocon2019 feat.KatLab  ece30a9a007fff7d3ad48592c0d09a74643377bb
公開メンバ関数 | 全メンバ一覧
BlockBingo クラス

#include <BlockBingo.h>

BlockBingo 連携図
Collaboration graph

公開メンバ関数

 BlockBingo (Controller &controller_)
 
void moveCircle4OfL ()
 Lコースのブロックビンゴ開始点からブロックサークル4の手前の 黒線の中点まで斜めに移動し、ブロックサークル4の中央まで移動する。 [詳解]
 
template<int N>
void execOrder (std::array< OrderProperty, N > &propertys)
 

詳解

BlockBingo.h26 行目に定義があります。

構築子と解体子

◆ BlockBingo()

BlockBingo::BlockBingo ( Controller controller_)
explicit

コンストラクタ

引数
controller_[Controllerの参照]

BlockBingo.cpp8 行目に定義があります。

8 : controller(controller_) {}

関数詳解

◆ execOrder()

template<int N>
void BlockBingo::execOrder ( std::array< OrderProperty, N > &  propertys)
inline

パソコンから受け取ったリストの通りに処理を実行する

引数
propertys[命令の情報のリスト]

BlockBingo.h49 行目に定義があります。

50  {
51  Navigator navigator(controller);
52 
53  for(const auto& property : propertys) {
54  if(property.orderName == Order::MOVE) {
55  navigator.move(350.0, 10, 0.6);
56  } else if(property.orderName == Order::SPIN) {
57  navigator.spin(property.paramValue, (property.paramValue > 0));
58  } else if(property.orderName == Order::COLOR) {
59  navigator.moveToSpecifiedColor(property.paramColor, 10);
60  } else {
61  controller.stopMotor();
62  controller.speakerPlayToneFS6(100);
63  }
64  }
65  }
void stopMotor()
Definition: Controller.cpp:272
static void speakerPlayToneFS6(int duration)
Definition: Controller.cpp:21
呼び出し関係図:

◆ moveCircle4OfL()

void BlockBingo::moveCircle4OfL ( )

Lコースのブロックビンゴ開始点からブロックサークル4の手前の 黒線の中点まで斜めに移動し、ブロックサークル4の中央まで移動する。

Lコースのブロックビンゴのブロックサークル4に移動する

BlockBingo.cpp10 行目に定義があります。

11 {
12  Navigator navigator(controller);
13 
14  // 色識別が上手くいったら下のコメントを処理に加える
15  // navigator.moveToSpecifiedColor(Color::yellow, 10);
16  navigator.move(-90.0, 10);
17  navigator.spin(45.0, false);
18  navigator.moveToSpecifiedColor(Color::black, 10);
19  navigator.spin(45.0);
20 }
呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: