文章目录
- 参考
- 定义
- 坐标系
- 简单的API
- 可Overwrite的方法
- 一个简单示例
参考
百度文库-Robocode
定义
机器人:一些可以旋转、移动、射击、侦测的小型坦克。
机器人的底盘、火炮和雷达系统都可以独立运动,也可以相互“锁定”,一起移动。换句话说,如果将雷达向下锁定,那么它将随火炮一起移动;如果火炮向下锁定,它将随机器人的底盘一起移动。
坐标系
简单的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 {@Overridepublic void run(){while (true){// 前进100像素ahead(100);// 右旋火炮360度turnGunRight(360);// 后退100像素back(100);// 左旋火炮360度turnGunLeft(360);}}@Overridepublic void onScannedRobot(ScannedRobotEvent event) {// 扫描到敌人时开火fire(100);}@Overridepublic void onHitRobot(HitRobotEvent event) {// 第一次被子弹击中,右转90度turnRight(90);// 然后前进100像素避开第二次ahead(100);}
}
小车会按照这个运行规则一直执行