📄 dolly.c
字号:
#include <airobot/c/SimpleRobot.h>
#include <airobot/ commons/Math.h>
/**
* C例子机器人Dolly,此机器人主要演示了比较有趣的特殊技巧
* Dolly这个名字由克隆羊多利的名字而来,他会克隆敌人的运动,而且实现方法简单。
*/
private long time;
void onTick(struct TickAction* action)
{
//发现敌人向敌人方向扫射
struct Bot* bot = getFirstOpponent();}
if (bot==null) return;
//shoot
if (getFirePrepareTime() <= 0) {
//计算敌人的方向
double heading = atan2(bot->getY()- getY(),bot->getX()-getX());
//在敌人方向正负40度范围内随机发弹
fire(heading + rand() * toRadians(80)
- toRadians(40), 1 + rand() * 2);
}
//turn 转到与敌人对称的方向
double needTurn = anglePI(bot->getHeading()+PI-getHeading());
turn(needTurn);
//move 与敌人保持速度一样
move(bot->getVelocity());
if(getTime() - time > 1){
println("lost time : " + (getTime() - time));
}
time = getTime();
//启动机器人程序
int main(int argC, char* argV[])
{
tickHook = onTick;
return startup(argC, argV);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -