gun.c

来自「以AIROBOT为平台构建的一个智能机器人。主源码见main.c。其余为使用的函」· C语言 代码 · 共 58 行

C
58
字号
#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 + =
减小字号Ctrl + -
显示快捷键?