解剖学-打造自己的智能机器人 (转)

解剖学-打造自己的智能机器人 (转)[@more@]

解剖学-打造自己的智能机器人

作者:天翼.李 Mailto:robocode@etang.com" rel="nofollow">robocode@etang.com    想把Robocode介绍给大家的想法由来已久,一直没时间,是啊,这么好的一个东西,我们怎么能错过呢?本系列的文章都由: Robocode 中华联盟()提供全面的技术支持。Robocode 解剖图
a%20href= web/cms/ UPLOAD/article_img/ 20030317114140_new_pa7.jpg" border=0>

 Robocode 解剖图1每一台机器人都由三个可活动部件组成车身(Body) - 可以前进/后退,左右旋转.炮塔(Gun) -  安装在车身之上,可左右旋转,发射子弹.雷达(Radar) - 安装在炮塔之上,可左右旋转,当发现其他机器人时就会触发事件.下面我们再结合机器人的车身,炮塔,雷达的旋转方向及相关的 api 函数来看看更清晰的图像。

20030317114209_new_pa8.jpg
Robocode 解剖图2 


我的第一个机器人
 好了,了解了这么多内容,也该动动手的时候了。从现在开始我们将从最基本的 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 void onScannedRobot(ScannedRobotEvent e) {
 fire(2); 
 } 
}

 
 上面就是Robocode中最基本的代码了,
 package wind;import robocode.*;
 public class MyFirstRobot extends Robot{
 public void run() { 
 }
 }
 import robocode.*;
 告诉java你要引入robocode下的所有类public class MyFirstRobot extends Robot告诉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(ScannedRobotEvent e) {
 fire(1);
 }


 
 好了,在开发工具中编译你的机器人代码,就可把它放到战场中去实践了。

原文出处:Http://www.robochina.org/

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993340/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-993340/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值