Robocode 编写第一个机器人

来源:互联网 发布:巨杉数据库 吹牛 编辑:程序博客网 时间:2024/05/23 12:04
每一台机器人都由三个可活动部件组成车身(Body) - 可以前进/后退,左右旋转.炮塔(Gun) -安装在车身之上,可左右旋转,发射子弹.雷达(Radar) -安装在炮塔之上,可左右旋转,当发现其他机器人时就会触发事件.下面我们再结合机器人的车身,炮塔,雷达的旋转方向及相关的API函数来看看更清晰的图像。
我的第一个机器人
好了,了解了这么多内容,也该动动手的时候了。从现在开始我们将从最基本的Java编程开始一步一步打造我们自己的智能机器人。一步步掌握Robocode的精华。由于引系列只是个引子,其中讲到的java术语并不会全部说明,大家可找找相关的资料看看再回来学习。
package wind;
import robocode.*;
public class MyFirstRobot extends Robot{
public void run() {
while(true) {
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
public voidonScannedRobot(ScannedRobotEvent e) {
fire(2);
}
}

上面就是Robocode中最基本的代码了
package wind;import robocode.*;
public class MyFirstRobot extendsRobot{
public void run() {}
}
import robocode.*;
告诉java你要引入robocode下的所有类public classMyFirstRobot extendsRobot告诉java我要的机器人类是继承直Robot这个对象,机器人名字为MyFirstRobotpublic void run(){ }Robocode中公共接口函数,用来激活机器人线程首先我们引入run()方法。
while (true) {
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
while (true) { } 当条件成立时,处理{}内的事件.这个循环内可让我们的机器为不断前进/后退,旋转,开火等等处理!ahead(100),调用ahead(100)调用前进的方法,让机器人前进100的距离turnGunRight(360)旋转炮塔360度back(100)后退100的距离当你的机器人扫描到别的机器人时,就触发onSacnnedRobot事件,在此事件中加入一点的方法,你就可进行相应的处理。Fire(1),是发射一颗能量为1的子弹。
public void onScannedRobot(ScannedRobotEvente) {
fire(1);
}
好了,在开发工具中编译你的机器人代码,就可把它放到战场中去实践了
原创粉丝点击