參考
定義
機器人:一些可以旋轉、移動、射擊、偵測的小型坦克。
機器人的底盤、火炮和雷達系統都可以獨立運動,也可以相互“鎖定”,一起移動。換句話說,如果將雷達向下鎖定,那麼它將隨火炮一起移動;如果火炮向下鎖定,它將隨機器人的底盤一起移動。
座標系
簡單的API
// 向前和向後移動
ahead()
back()
// 開火
fire()
// 控制火炮是否向下鎖定
setAdjustGunForRobotTurn()
// 控制雷達是否向下鎖定
setAdjustRadarForGunTurn()
// 底盤旋轉
turnRight()
turnLeft()
// 旋轉火炮
turnGunRight()
turnGunLeft()
// 旋轉雷達反射鏡
turnRadarLeft()
turnRadarRight()
可Overwrite的方法
// 當你的機器人被擊中時
onHitByBullet()
// 當你的機器人與其它機器人相撞時
onHitRobot()
// 當撞牆時
onHitWall()
// 用雷達掃描到其他機器人時
onScannedRobot()
一個簡單示例
package forg;
import robocode.HitRobotEvent;
import robocode.Robot;
import robocode.ScannedRobotEvent;
/**
* @author 無名Joker
* @date 2020-03-02 15:47
* @description
*/
public class WuMingRobot extends Robot {
@Override
public void run(){
while (true){
// 前進100像素
ahead(100);
// 右旋火炮360度
turnGunRight(360);
// 後退100像素
back(100);
// 左旋火炮360度
turnGunLeft(360);
}
}
@Override
public void onScannedRobot(ScannedRobotEvent event) {
// 掃描到敵人時開火
fire(100);
}
@Override
public void onHitRobot(HitRobotEvent event) {
// 第一次被子彈擊中,右轉90度
turnRight(90);
// 然後前進100像素避開第二次
ahead(100);
}
}
小車會按照這個運行規則一直執行