str/apps/include/RightCourse.h (46 lines of code) (raw):

/** * @file RightCourse.h * @brief Rコースを走らせるときに呼び出されるクラス * @author Futa HIRAKOBA */ #ifndef __RIGHT_COURSE__ #define __RIGHT_COURSE__ #include "ev3api.h" #include "util.h" #include "Walker.h" #include "ColorSensor.h" #include "SonarSensor.h" #include "RightNormalCourse.h" #include "Shinkansen.h" #include "Distance.h" #include "SelfLocalization.h" #include "Lifter.h" #include "BasicWalker.h" #include "Parking.h" using namespace ev3api; /** * 走行場所の状態を保持する列挙型 */ enum struct ShinkansenStatus { BEFORE_FIRST_SHINKANSEN, FIRST_RAIL, FIRST_LINE, SECOND_LINE, BEFORE_SECOND_SHINKANSEN, SECOND_RAIL, THIRD_LINE, FOURTH_LINE, BEFORE_THIRD_SHINKANSEN, PRIZE, STOP }; /** * Rコースを走らせるときに呼び出されるクラス */ class RightCourse { public: /** コンストラクタ。センサ類の初期化を行う **/ RightCourse(); /** 各エリアの処理を呼び出す **/ void run(); /** NormalCourseエリアの処理 **/ void runNormalCourse(); /** Shinkansenエリアの処理 */ void runShinkansen(); /** * 直角駐車エリアの処理を行う。 * Parkingクラスに依存する */ void runParpendicularParking(); private: LineTracerWalker lineTracer; Lifter lifter; BasicWalker basicWalker; Walker walker; ColorSensor colorSensor; SonarSensor sonarSensor; ShinkansenStatus shinkansenStatus; SelfLocalization sl; }; #endif