⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dolly.c

📁 偶然收集到的一个C语言源码
💻 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 + -