import org.robochina.airobot.tank.*; import org.robochina.math.*; import java.awt.geom.*; import java.util.*;/*** 这个类对应一个机器人,根据需要实现相应的Action处理函数,* 就可以订制自己的机器人。*/ public class Text extends SimpleRobot {//首先需要定义两个速度一个是移动的速度,和转动的速度private static final double TURN_VELOCITY = Math.toRadians(3);private static final double GO_VELOCITY = 5;//根据这两个变量可以计算出来弧半径private static final double R = GO_VELOCITY/TURN_VELOCITY;/*** 每个单位时间都会触发*/public void onTick(TickAction action){move(GO_VELOCITY);turn(TURN_VELOCITY);waitJiao(Math.toRadians(270));turn(0);waitDistance(R*2);turn(-TURN_VELOCITY);waitJiao(Math.toRadians(270));turn(0);waitDistance(R*2);}/** * 当开始一轮新的比赛时触发*/public void onRoundBegin(RoundBeginAction action){}//等待这个机器人走过这条直线的长度private void waitDistance(double displance){int time =(int) (displance/GO_VELOCITY);for (int i = 0; i <time; i++) {delay();}}private void waitJiao(double jiaodu){int time =(int) (jiaodu/TURN_VELOCITY);for (int i = 0; i <time; i++) {delay();}}/*** 当一轮比赛结束时触发*/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 Text());} }2:import org.robochina.airobot.tank.*; import org.robochina.math.*; import java.awt.geom.*; import java.util.*;/*** 这个类对应一个机器人,根据需要实现相应的Action处理函数,* 就可以订制自己的机器人。*/ public class Firgure extends SimpleRobot {//首先需要定义两个速度一个是移动的速度,和转动的速度private static final double TURN_VELOCITY = Math.toRadians(3);private static final double GO_VELOCITY = 5;//根据这两个变量可以计算出来弧半径private static final double R = GO_VELOCITY/TURN_VELOCITY;/*** 每个单位时间都会触发*/public void onTick(TickAction action){}/** * 当开始一轮新的比赛时触发*/public void onRoundBegin(RoundBeginAction action){while (true) {move(GO_VELOCITY);turn(TURN_VELOCITY);waitJiao(Math.toRadians(270));turn(0);waitDistance(R*2);turn(-TURN_VELOCITY);waitJiao(Math.toRadians(270));turn(0);waitDistance(R*2);}}//等待这个机器人走过这条直线的长度private void waitDistance(double displance){int time =(int) (displance/GO_VELOCITY);for (int i = 0; i <time; i++) {delay();}}private void waitJiao(double jiaodu){int time =(int) (jiaodu/TURN_VELOCITY);for (int i = 0; i <time; i++) {delay();}}/*** 当一轮比赛结束时触发*/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 Firgure());} }
import org.robochina.airobot.tank.*;
import org.robochina.math.*;
import java.awt.geom.*;
import java.util.*;/*** 这个类对应一个机器人,根据需要实现相应的Action处理函数,* 就可以订制自己的机器人。*/
public class Firgure extends SimpleRobot
{//首先需要定义两个速度一个是移动的速度,和转动的速度private static final double TURN_VELOCITY = Math.toRadians(3);private static final double GO_VELOCITY = 5;//根据这两个变量可以计算出来弧半径private static final double R = GO_VELOCITY/TURN_VELOCITY;/*** 每个单位时间都会触发*/public void onTick(TickAction action){}/** * 当开始一轮新的比赛时触发*/public void onRoundBegin(RoundBeginAction action){while (true) {move(GO_VELOCITY);turn(TURN_VELOCITY);waitJiao(Math.toRadians(360));turn(0);waitDistance(R*2); }}//等待这个机器人走过这条直线的长度private void waitDistance(double displance){int time =(int) (displance/GO_VELOCITY);for (int i = 0; i <time; i++) {delay();}}private void waitJiao(double jiaodu){int time =(int) (jiaodu/TURN_VELOCITY);for (int i = 0; i <time; i++) {delay();}}/*** 当一轮比赛结束时触发*/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 Firgure());}
}
这个代码是走一个圆走一条直线,一直重复下去