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());}
}
這個代碼是走一個圓走一條直線,一直重復下去
?