OSDN Git Service

LineTracerが持っていたLinePosとRunnerをETLineTracerに移動させ、LineTracerを廃止し新たにインターフェースクラスRobotを作成。
[tondenhei/et2013.git] / ETLineTracer.cpp
index bd7f649..4b53e77 100644 (file)
@@ -1,12 +1,31 @@
 #include "ETLineTracer.h"\r
+#include "LinePos.h"\r
+#include "Runner.h"\r
 \r
 ETLineTracer::ETLineTracer(LinePos& linepos, Runner& runner)\r
-       : LineTracer(linepos,runner), m_pid(0.3, 0.0, 10.0)\r
+       : m_linepos(linepos), m_runner(runner), m_pid(0.3, 0.0, 10.0)\r
 {\r
 }\r
 ETLineTracer::~ETLineTracer(void)\r
 {\r
 }\r
+void ETLineTracer::Run(int speed)\r
+{\r
+       int forward = 0;\r
+       int turn = 0;\r
+       CalcOutput(speed,m_linepos.GetLinePos(),forward,turn);\r
+       m_runner.Run(forward,turn);\r
+}\r
+bool ETLineTracer::IsException() const\r
+{\r
+       return false;\r
+}\r
+void ETLineTracer::Stop()\r
+{\r
+}\r
+void ETLineTracer::Reset()\r
+{\r
+}\r
 void ETLineTracer::CalcOutput(int speed, int linepos, int& forward, int& turn)\r
 {\r
        forward = speed * 7 / 10;       // \82Æ\82è\82 \82¦\82¸\82Ì\8eÀ\91\95\r