/**
* Name:Splay
* Written by pt
* Compiler:Microsoft Visual C++
*/
#include <airobot/c/SimpleRobot.h>
//移动速度
double moveVelocity;
//转动速度
double turnVelocity;
/**
* 等待tank转动360度
*/
void waitforTurn(double radians)
{
//计算转动的次数
int time = (int)(radians/turnVelocity);
int i;
//循环time次系统延迟,delay的意思就是调到下一个时钟周期,就是相当于循环中continue语句(本人的理解)
for (i=0; i<time; i++)
delay();
}
/**
* 每个单位时间都会触发
*/
void onTick(struct TickAction* action)
{
//以moveVelocity移动
move(moveVelocity);
//以turnVelocity转动
turn(turnVelocity);
//等待一个圆转完
waitforTurn(2*PI);
//反着转
turn(-turnVelocity);
//等待下一个圆转完
waitforTurn(2*PI);
}
/**
* 当开始一轮新的比赛时触发
*/
void onRoundBegin(struct RoundBeginAction* action)
{
//初始化移动速度5
moveVelocity = 5;
//初始化转动速度3度
turnVelocity = toRadians(3);
}
/**
* 机器人程序入口
*/
int main(int argC, char* argV[])
{
tickHook = onTick;
roundBeginHook = onRoundBegin;
return startup(argC, argV);
}
(AI-TANK)走八字
最新推荐文章于 2021-08-15 16:42:44 发布