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

📄 gun.c

📁 以AIROBOT为平台构建的一个智能机器人。主源码见main.c。其余为使用的函数接口定义
💻 C
字号:
#include "Robot.h"

//用户设置的想要转动的转角
static double angle = 0;
//用户设置的要发射炮弹的能量
static double power = 0;
//当前方向
static double heading = 0;
//当前的发单准备时间
static long prepareTime = 0;

//最大转动速度
static const double MAX_VELOCITY_TURN = (25 * 3.14 / 180);

///////////////////////////////////////////////////////////////////
//设置所要转动的度数,用于控制炮管的方向
void turnGun(double a){ angle = a; }

// 发射炮弹
void fire(double p){ power = p; }
	
// 得到用户想用转动的度数的剩余量
double getGunTurnRemaining(){ return angle; }

// 得到用户将要发射的炮弹的能量
double getFirePower(){ return power;	}

// 得到当前的炮管方向
double getGunHeading(){ return heading;	}
	
// 得到准备发弹的时间
long getGunPrepareTime(){ return prepareTime; }

// 设置当前方向
void setGunHeading(double h)
{
	heading = h;
    
	//重新计算要转的角度
    if (angle >= 0)
	{
	    if( angle < MAX_VELOCITY_TURN )
			angle = 0;
		else angle -= MAX_VELOCITY_TURN;
	}else{
		if( angle > - MAX_VELOCITY_TURN )
		    angle = 0;
		else angle += MAX_VELOCITY_TURN;
	}
 }
	
// 设置发单的准备时间
void setGunPrepareTime(long t)
{
	prepareTime = t;
    power = 0;
}

⌨️ 快捷键说明

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