etrobocon2018 feat.KatLab  770af34cce41ae9c30c41303275e1add2daae0c3 (with uncommitted changes)
 全て クラス 名前空間 ファイル 関数 変数 列挙型 列挙値 フレンド マクロ定義 ページ
公開メンバ関数 | 全メンバ一覧
AIAnswerBlock クラス

#include <AIAnswerBlock.h>

AIAnswerBlock 連携図
Collaboration graph

公開メンバ関数

 AIAnswerBlock (Controller &controller, Walker &walker, std::int16_t brightness)
 
void throwBlock (bool angle_direction=false)
 リフターを使ってブロックを放って後ろを向く [詳解]
 
void block00 ()
 アナログ数字が0,デジタル数字が0 [詳解]
 
void block01 ()
 アナログ数字が0,デジタル数字が1 [詳解]
 
void block02 ()
 アナログ数字が0,デジタル数字が2 [詳解]
 
void block03 ()
 アナログ数字が0,デジタル数字が3 [詳解]
 
void block04 ()
 アナログ数字が0,デジタル数字が4 [詳解]
 
void block05 ()
 アナログ数字が0,デジタル数字が5 [詳解]
 
void block06 ()
 アナログ数字が0,デジタル数字が6 [詳解]
 
void block07 ()
 アナログ数字が0,デジタル数字が7 [詳解]
 
void block10 ()
 アナログ数字が1,デジタル数字が0 [詳解]
 
void block11 ()
 アナログ数字が1,デジタル数字が1 [詳解]
 
void block12 ()
 アナログ数字が1,デジタル数字が2 [詳解]
 
void block13 ()
 アナログ数字が1,デジタル数字が3 [詳解]
 
void block14 ()
 アナログ数字が1,デジタル数字が4 [詳解]
 
void block15 ()
 アナログ数字が1,デジタル数字が5 [詳解]
 
void block16 ()
 アナログ数字が1,デジタル数字が6 [詳解]
 
void block17 ()
 アナログ数字が1,デジタル数字が7 [詳解]
 
void block20 ()
 アナログ数字が2,デジタル数字が0 [詳解]
 
void block21 ()
 アナログ数字が2,デジタル数字が1 [詳解]
 
void block22 ()
 アナログ数字が2,デジタル数字が2 [詳解]
 
void block23 ()
 アナログ数字が2,デジタル数字が3 [詳解]
 
void block24 ()
 アナログ数字が2,デジタル数字が4 [詳解]
 
void block25 ()
 アナログ数字が2,デジタル数字が5 [詳解]
 
void block26 ()
 アナログ数字が2,デジタル数字が6 [詳解]
 
void block27 ()
 アナログ数字が2,デジタル数字が7 [詳解]
 
void block30 ()
 アナログ数字が3,デジタル数字が0 [詳解]
 
void block31 ()
 アナログ数字が3,デジタル数字が1 [詳解]
 
void block32 ()
 アナログ数字が3,デジタル数字が2 [詳解]
 
void block33 ()
 アナログ数字が3,デジタル数字が3 [詳解]
 
void block34 ()
 アナログ数字が3,デジタル数字が4 [詳解]
 
void block35 ()
 アナログ数字が3,デジタル数字が5 [詳解]
 
void block36 ()
 アナログ数字が3,デジタル数字が6 [詳解]
 
void block37 ()
 アナログ数字が3,デジタル数字が7 [詳解]
 
void block40 ()
 アナログ数字が4,デジタル数字が0 [詳解]
 
void block41 ()
 アナログ数字が4,デジタル数字が1 [詳解]
 
void block42 ()
 アナログ数字が4,デジタル数字が2 [詳解]
 
void block43 ()
 アナログ数字が4,デジタル数字が3 [詳解]
 
void block44 ()
 アナログ数字が4,デジタル数字が4 [詳解]
 
void block45 ()
 アナログ数字が4,デジタル数字が5 [詳解]
 
void block46 ()
 アナログ数字が4,デジタル数字が6 [詳解]
 
void block47 ()
 アナログ数字が4,デジタル数字が7 [詳解]
 
void block50 ()
 アナログ数字が5,デジタル数字が0 [詳解]
 
void block51 ()
 アナログ数字が5,デジタル数字が1 [詳解]
 
void block52 ()
 アナログ数字が5,デジタル数字が2 [詳解]
 
void block53 ()
 アナログ数字が5,デジタル数字が3 [詳解]
 
void block54 ()
 アナログ数字が5,デジタル数字が4 [詳解]
 
void block55 ()
 アナログ数字が5,デジタル数字が5 [詳解]
 
void block56 ()
 アナログ数字が5,デジタル数字が6 [詳解]
 
void block57 ()
 アナログ数字が5,デジタル数字が7 [詳解]
 
void block60 ()
 アナログ数字が6,デジタル数字が0 [詳解]
 
void block61 ()
 アナログ数字が6,デジタル数字が1 [詳解]
 
void block62 ()
 アナログ数字が6,デジタル数字が2 [詳解]
 
void block63 ()
 アナログ数字が6,デジタル数字が3 [詳解]
 
void block64 ()
 アナログ数字が6,デジタル数字が4 [詳解]
 
void block65 ()
 アナログ数字が6,デジタル数字が5 [詳解]
 
void block66 ()
 アナログ数字が6,デジタル数字が6 [詳解]
 
void block67 ()
 アナログ数字が6,デジタル数字が7 [詳解]
 
void block70 ()
 アナログ数字が7,デジタル数字が0 [詳解]
 
void block71 ()
 アナログ数字が7,デジタル数字が1 [詳解]
 
void block72 ()
 アナログ数字が7,デジタル数字が2 [詳解]
 
void block73 ()
 アナログ数字が7,デジタル数字が3 [詳解]
 
void block74 ()
 アナログ数字が7,デジタル数字が4 [詳解]
 
void block75 ()
 アナログ数字が7,デジタル数字が5 [詳解]
 
void block76 ()
 アナログ数字が7,デジタル数字が6 [詳解]
 
void block77 ()
 アナログ数字が7,デジタル数字が7 [詳解]
 

詳解

AIAnswerBlock.h11 行目に定義があります。

構築子と解体子

AIAnswerBlock::AIAnswerBlock ( Controller controller,
Walker walker,
std::int16_t  brightness 
)
inline

AIAnswerBlock.h19 行目に定義があります。

20  : navigator(controller, walker), target_brightness(brightness), lifter(controller)
21  {
22  }

関数詳解

void AIAnswerBlock::block00 ( )

アナログ数字が0,デジタル数字が0

AIAnswerBlock.cpp22 行目に定義があります。

23 {
24  navigator.moveOnLine(250, target_brightness, 30, true); // 左エッジ
25  navigator.move(100);
26  navigator.spin(100, true); // 100度右回転
27  navigator.moveToColor(250, target_brightness, Color::RED, 30, true); // 左エッジ
28  throwBlock(false); // 左に放る
29 
30  navigator.moveOnLine(100, target_brightness, 30, false); // 右エッジ
31  navigator.move(100);
32  navigator.moveToColor(200, target_brightness, Color::BLUE, 30, false); // 右エッジ
33  throwBlock(true); // 右に放る
34 
35  navigator.moveOnLine(100, target_brightness, 30, false); // 右エッジ
36  navigator.move(50); // 5cmただ進む
37  navigator.spin(100, false); // 100度左回転
38  navigator.moveOnLine(200, target_brightness, 30, false); // 右エッジ
39  navigator.move(100); // 10cmただ進む
40  navigator.spin(100, true); // 100度右回転
41  navigator.moveToColor(200, target_brightness, Color::GREEN, 30, true); // 左エッジ
42  throwBlock(false); // 左に放る
43 
44  navigator.moveOnLine(100, target_brightness, 30, false); // 右エッジ
45  navigator.move(150); // 15cmただ進む
46  navigator.moveToColor(100, target_brightness, Color::YELLOW, 30, false); // 右エッジ
47  throwBlock(true); // 右に放る
48 
49  navigator.moveOnLine(100, target_brightness, 30, true); // 左エッジ
50  navigator.spin(100, false); // 100度左回転
51  navigator.moveOnLine(200, target_brightness, 30, true); // 左エッジ
52  navigator.move(100);
53  navigator.spin(100, true); // 100度右回転
54  navigator.moveToColor(200, target_brightness, Color::RED, 30, true); // 左エッジ
55  // navigator.move(100);
56  throwBlock(false); // 左に放る
57 
58  navigator.moveOnLine(100, target_brightness, 30, false); // 右エッジ
59  navigator.move(150);
60  navigator.moveToColor(100, target_brightness, Color::RED, 30, false); // 右エッジ
61  throwBlock(true); // 右に放る
62 
63  navigator.moveOnLine(100, target_brightness, 30, true); // 左エッジ
64  navigator.move(100);
65  navigator.spin(100, false); // 100度左回転
66  navigator.moveOnLine(150, target_brightness, 30, true);
67 }
void moveOnLine(float distance, std::int16_t target, std::int8_t pwm=20, bool is_leftside_line=true)
指定した距離だけライントレースする
Definition: Navigator.cpp:163
void move(float distance, std::int8_t pwm=20)
指定した距離まで走行体を移動させる
Definition: Navigator.cpp:48
void moveToColor(float distance, std::int16_t target_brightness, Color target_color, std::int8_t speed=20, bool is_leftside_line=true)
指定した距離分ライントレースして指定した色があると停止する
Definition: Navigator.cpp:211
void spin(float angle, bool clockwise=false, std::int8_t pwm=10)
指定した角度まで走行体を回転させる(基本左エッジ)
Definition: Navigator.cpp:25
void throwBlock(bool angle_direction=false)
リフターを使ってブロックを放って後ろを向く

呼び出し関係図:

被呼び出し関係図:

void AIAnswerBlock::block01 ( )

アナログ数字が0,デジタル数字が1

AIAnswerBlock.cpp70 行目に定義があります。

71 {
72  navigator.moveOnLine(250, target_brightness, 30, true); // 左エッジ
73  navigator.move(60);
74  navigator.spin(90, true); // 90度右回転
75  navigator.moveToColor(250, target_brightness, Color::RED, 30, true); // 左エッジ
76  throwBlock(false); // 左に放る
77 
78  navigator.moveOnLine(60, target_brightness, 30, false); // 右エッジ
79  navigator.move(150);
80  navigator.moveToColor(200, target_brightness, Color::BLUE, 30, false); // 右エッジ
81  throwBlock(true); // 右に放る
82 
83  navigator.moveOnLine(100, target_brightness, 30, false); // 右エッジ
84  navigator.move(50); // 5cmただ進む
85  navigator.spin(110, false); // 110度左回転
86  navigator.moveOnLine(750, target_brightness, 30, true); // 左エッジ
87 }
void moveOnLine(float distance, std::int16_t target, std::int8_t pwm=20, bool is_leftside_line=true)
指定した距離だけライントレースする
Definition: Navigator.cpp:163
void move(float distance, std::int8_t pwm=20)
指定した距離まで走行体を移動させる
Definition: Navigator.cpp:48
void moveToColor(float distance, std::int16_t target_brightness, Color target_color, std::int8_t speed=20, bool is_leftside_line=true)
指定した距離分ライントレースして指定した色があると停止する
Definition: Navigator.cpp:211
void spin(float angle, bool clockwise=false, std::int8_t pwm=10)
指定した角度まで走行体を回転させる(基本左エッジ)
Definition: Navigator.cpp:25
void throwBlock(bool angle_direction=false)
リフターを使ってブロックを放って後ろを向く

呼び出し関係図:

被呼び出し関係図:

void AIAnswerBlock::block02 ( )

アナログ数字が0,デジタル数字が2

void AIAnswerBlock::block03 ( )

アナログ数字が0,デジタル数字が3

void AIAnswerBlock::block04 ( )

アナログ数字が0,デジタル数字が4

void AIAnswerBlock::block05 ( )

アナログ数字が0,デジタル数字が5

void AIAnswerBlock::block06 ( )

アナログ数字が0,デジタル数字が6

void AIAnswerBlock::block07 ( )

アナログ数字が0,デジタル数字が7

void AIAnswerBlock::block10 ( )

アナログ数字が1,デジタル数字が0

void AIAnswerBlock::block11 ( )

アナログ数字が1,デジタル数字が1

void AIAnswerBlock::block12 ( )

アナログ数字が1,デジタル数字が2

void AIAnswerBlock::block13 ( )

アナログ数字が1,デジタル数字が3

void AIAnswerBlock::block14 ( )

アナログ数字が1,デジタル数字が4

void AIAnswerBlock::block15 ( )

アナログ数字が1,デジタル数字が5

void AIAnswerBlock::block16 ( )

アナログ数字が1,デジタル数字が6

void AIAnswerBlock::block17 ( )

アナログ数字が1,デジタル数字が7

void AIAnswerBlock::block20 ( )

アナログ数字が2,デジタル数字が0

void AIAnswerBlock::block21 ( )

アナログ数字が2,デジタル数字が1

void AIAnswerBlock::block22 ( )

アナログ数字が2,デジタル数字が2

void AIAnswerBlock::block23 ( )

アナログ数字が2,デジタル数字が3

void AIAnswerBlock::block24 ( )

アナログ数字が2,デジタル数字が4

void AIAnswerBlock::block25 ( )

アナログ数字が2,デジタル数字が5

void AIAnswerBlock::block26 ( )

アナログ数字が2,デジタル数字が6

void AIAnswerBlock::block27 ( )

アナログ数字が2,デジタル数字が7

void AIAnswerBlock::block30 ( )

アナログ数字が3,デジタル数字が0

void AIAnswerBlock::block31 ( )

アナログ数字が3,デジタル数字が1

void AIAnswerBlock::block32 ( )

アナログ数字が3,デジタル数字が2

void AIAnswerBlock::block33 ( )

アナログ数字が3,デジタル数字が3

void AIAnswerBlock::block34 ( )

アナログ数字が3,デジタル数字が4

void AIAnswerBlock::block35 ( )

アナログ数字が3,デジタル数字が5

void AIAnswerBlock::block36 ( )

アナログ数字が3,デジタル数字が6

void AIAnswerBlock::block37 ( )

アナログ数字が3,デジタル数字が7

void AIAnswerBlock::block40 ( )

アナログ数字が4,デジタル数字が0

void AIAnswerBlock::block41 ( )

アナログ数字が4,デジタル数字が1

void AIAnswerBlock::block42 ( )

アナログ数字が4,デジタル数字が2

void AIAnswerBlock::block43 ( )

アナログ数字が4,デジタル数字が3

void AIAnswerBlock::block44 ( )

アナログ数字が4,デジタル数字が4

void AIAnswerBlock::block45 ( )

アナログ数字が4,デジタル数字が5

void AIAnswerBlock::block46 ( )

アナログ数字が4,デジタル数字が6

void AIAnswerBlock::block47 ( )

アナログ数字が4,デジタル数字が7

void AIAnswerBlock::block50 ( )

アナログ数字が5,デジタル数字が0

void AIAnswerBlock::block51 ( )

アナログ数字が5,デジタル数字が1

void AIAnswerBlock::block52 ( )

アナログ数字が5,デジタル数字が2

void AIAnswerBlock::block53 ( )

アナログ数字が5,デジタル数字が3

void AIAnswerBlock::block54 ( )

アナログ数字が5,デジタル数字が4

void AIAnswerBlock::block55 ( )

アナログ数字が5,デジタル数字が5

void AIAnswerBlock::block56 ( )

アナログ数字が5,デジタル数字が6

void AIAnswerBlock::block57 ( )

アナログ数字が5,デジタル数字が7

void AIAnswerBlock::block60 ( )

アナログ数字が6,デジタル数字が0

void AIAnswerBlock::block61 ( )

アナログ数字が6,デジタル数字が1

void AIAnswerBlock::block62 ( )

アナログ数字が6,デジタル数字が2

void AIAnswerBlock::block63 ( )

アナログ数字が6,デジタル数字が3

void AIAnswerBlock::block64 ( )

アナログ数字が6,デジタル数字が4

void AIAnswerBlock::block65 ( )

アナログ数字が6,デジタル数字が5

void AIAnswerBlock::block66 ( )

アナログ数字が6,デジタル数字が6

void AIAnswerBlock::block67 ( )

アナログ数字が6,デジタル数字が7

void AIAnswerBlock::block70 ( )

アナログ数字が7,デジタル数字が0

void AIAnswerBlock::block71 ( )

アナログ数字が7,デジタル数字が1

void AIAnswerBlock::block72 ( )

アナログ数字が7,デジタル数字が2

void AIAnswerBlock::block73 ( )

アナログ数字が7,デジタル数字が3

void AIAnswerBlock::block74 ( )

アナログ数字が7,デジタル数字が4

void AIAnswerBlock::block75 ( )

アナログ数字が7,デジタル数字が5

void AIAnswerBlock::block76 ( )

アナログ数字が7,デジタル数字が6

void AIAnswerBlock::block77 ( )

アナログ数字が7,デジタル数字が7

void AIAnswerBlock::throwBlock ( bool  angle_direction = false)

リフターを使ってブロックを放って後ろを向く

ブロックを指定した方向へ放った後,後ろを向き直す

[AIAnswerBlock::throwBlock]

引数
angle_direction[false = 左回転,true = 右回転]

AIAnswerBlock.cpp14 行目に定義があります。

15 {
16  navigator.spin(35, angle_direction);
17  lifter.liftUp(55, 30);
18  lifter.liftDown(0, 3);
19  navigator.spin(150, angle_direction);
20 }
void liftDown(std::uint8_t angle, std::int8_t pwm=20)
Definition: Lifter.cpp:45
void spin(float angle, bool clockwise=false, std::int8_t pwm=10)
指定した角度まで走行体を回転させる(基本左エッジ)
Definition: Navigator.cpp:25
void liftUp(std::uint8_t angle, std::int8_t pwm=20)
Definition: Lifter.cpp:33

呼び出し関係図:

被呼び出し関係図:


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