figure8.cpp

来自「AI-CODE坦克机器人 《C++语言学习利器 —AI-CODE坦克机器人》-」· C++ 代码 · 共 51 行

CPP
51
字号
#include <airobot/cpp/SimpleRobot.hpp>

#define MOVE_VELOCITY 5
#define TURN_VELOCITY Math::toRadians(3)
/**
 * 这个类对应一个机器人,根据需要实现相应的Action处理函数,
 * 就可以订制自己的机器人。
 */
class Figure8 : public SimpleRobot
{
	public:
		/**
		 * 每个单位时间都会触发
		 */
		void onTick(TickAction* action)
		{
			while (true)
			{
				move(MOVE_VELOCITY);
				turn(TURN_VELOCITY);
				waitforRadians(Math::PI * 2);

				move(MOVE_VELOCITY);
				turn(-TURN_VELOCITY);
				waitforRadians(Math::PI * 2);
			}
		}

		// 等待机器人转动指定的弧度
		void waitforRadians(double radians)
		{
			int times = (int) (radians / TURN_VELOCITY);
			for(int i=0; i<times; i++)
			{
				delay();
				//if(isRoundFinish()) return;
			}
		}
};

/**
 * 机器人程序入口
 */
int main(int argC, char* argV[])
{
	Robot* robot = new Figure8();
	return startup(argC, argV, robot);
}


															

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?