您的位置:首页 > 其它

定点瞄准算法

2015-09-22 17:38 323 查看
import org.robochina.airobot.tank.*;
import org.robochina.math.*;
import java.awt.geom.*;
import java.util.*;

/**
* 这个类对应一个机器人,根据需要实现相应的Action处理函数,
* 就可以订制自己的机器人。
*/
public class FireOrginal extends SimpleRobot
{
/**
* 每个单位时间都会触发
*/
public void onTick(TickAction action){
//得到第一个对手的信息
Bot opponent = this.getFirstOpponent();
//如果没有对手就直接返回
if (opponent == null) {
return ;
} else {
//计算开火的方向
double heading = MathUtils.heading(getLocation(),opponent.getLocation());
//想指定的方向开火
fire(heading,3);

}

}

/**
* 当开始一轮新的比赛时触发
*/
public void onRoundBegin(RoundBeginAction action){}

/**
* 当一轮比赛结束时触发
*/
public void onRoundFinish(RoundFinishAction action){}

/**
* 当开始一场新的比赛时触发
*/
public void onMatchBegin(MatchBeginAction action){}

/**
* 当整场比赛结束时触发
*/
public void onMatchFinish(MatchFinishAction action){}

/**
* 当有队友向自己发送消息时触发
*/
public void onMessageReceived(MessageReceivedAction action){}

/**
* 当撞到其它机器人时触发
*/
public void onHitRobot(HitRobotAction action){}

/**
* 当撞到墙时触发
*/
public void onHitWall(HitWallAction action){}

/**
* 当任意一个机器人开火时触发
*/
public void onFire(FireAction action){}

/**
* 当有机器人死亡时触发
*/
public void onRobotDeath(RobotDeathAction action){}

/**
* 当自己的子弹击中敌人时触发
*/
public void onBulletHit(BulletHitAction action){}

/**
* 当被别人的子弹击中时触发
*/
public void onHitedByBullet(HitedByBulletAction action){}

/**
* 机器人程序入口
* @param args
*/
public static void main(String[] args)
{
startup(args, new FireOrginal());
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: