这是跟着书上写的一段代,第二排我没看懂,求讲解
#include <airobot/c/SimpleRobot.h>void printBotInformation();
int n=0;
/**
* 每个单位时间都会触发
*/
void onTick(struct TickAction* action)
{
double x1=30,y1=30;
if(n==0)
{
moveTo(30,30);
if(fabs(getX()-x1)<0.01&&fabs(getY()-y1)<0.01)
n++;
}
if(n==1)
{
moveTo(400,30);
if(fabs(getX()-400)<0.01&&fabs(getY()-30)<0.01)
n++;
}
if(n==2)
{
moveTo(400,400);
if(fabs(getX()-400)<0.01&&fabs(getY()-400)<0.01)
n++;
}
if(n==3)
n=0;
printBotInformation();
}
void printBotInformation()
{
int selfId=getSelf();
struct Bot* selfBot=getBot(selfId);//机器人坐标
printSD("x:",selfBot->x);
printSD("y:",selfBot->y);
//机器人方向
printSD("heading by degree:",selfBot->heading*180.0/PI);
//机器人速度
printSD("velocity:",selfBot->velocity);
}
/**
* 当开始一场新的比赛时触发
*/
void onMatchBegin(struct MatchBeginAction* action){}
/**
* 当整场比赛结束时触发
*/
void onMatchFinish(struct MatchFinishAction* action){}
/**
* 当开始一轮新的比赛时触发
*/
void onRoundBegin(struct RoundBeginAction* action)
{
n=0;
}
/**
* 当一轮比赛结束时触发。
*/
void onRoundFinish(struct RoundFinishAction* action){}
/**
* 当有队友向自己发送消息时触发
*/
void onMessageReceived(struct MessageReceivedAction* action){}
/**
* 当撞到其它机器人时触发
*/
void onHitRobot(struct HitRobotAction* action)
{}
/**
* 当撞到墙时触发
*/
void onHitWall(struct HitWallAction* action)
{}
/**
* 当任意一个机器人开火时触发
*/
void onFire(struct FireAction* action){}
/**
* 当有机器人死亡时触发
*/
void onRobotDeath(struct RobotDeathAction* action){}
/**
* 当自己的子弹击中敌人时触发
*/
void onBulletHit(struct BulletHitAction* action){}
/**
* 当被别人的子弹击中时触发
*/
void onHitedByBullet(struct HitedByBulletAction* action){}
/**
* 机器人程序入口
*/
int main(int argC, char* argV[])
{
tickHook = onTick;
matchBeginHook = onMatchBegin;
matchFinishHook = onMatchFinish;
roundBeginHook = onRoundBegin;
roundFinishHook = onRoundFinish;
messageReceivedHook = onMessageReceived;
hitRobotHook = onHitRobot;
hitWallHook = onHitWall;
robotDeathHook = onRobotDeath;
fireHook = onFire;
bulletHitHook = onBulletHit;
hitedByBulletHook = onHitedByBullet;
return startup(argC, argV);
}