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()); } }
时间: 2024-09-15 16:16:44