玩Robocode游戏,学习Java - 蛋白质日志 - BlogJava

来源:百度文库 编辑:神马文学网 时间:2024/04/29 02:08:27
Robocode是Java编写的一款开源的坦克游戏,与一般的游戏有着非常不同的玩法。游戏中的坦克不是由键 盘、鼠标或者游戏杆直接控制,而是通过你用Java对坦克机器人编程,给坦克机器人设计智能来指挥它战斗。比如ahead(100)使机器人向前移动 100。你的程序指挥你的坦克攻击对手,同时躲避来自对手的攻击,以此来较量得分的多少。你可以下载别人的机器人,和你编写的机器人竞赛,如果你觉得你的 机器人够厉害,也可以上传你机器人到Robocode的主页和别人比赛。非常有意思,在娱乐的同时学习和提高你的Java编程能力。
Robocode最新的版本是1.3.5,可在Robocode主页上下载。下载完robocode-setup-1.3.5.jar,双击即可安装Robocode游戏,需要JRE1.5+。安装完成,启动程序,看到如下界面

程序中已经带了一些坦克机器人,我们可以先用这些机器人学习如何开始一场战斗, 然后再学习如何编写你自己的机器人。
点 击Battle/New菜单,或者按Ctrl+N新建一个战斗。在弹出的New Battle对话框中选择坦克机器人和战斗的场数。比如选择sample.MyFirstRobot,sample.RamFire和 sample.TrackFire, 设置场数Number of Rounds为5场. 点击Start Battle按钮开始战斗。

战斗场面

编 写一个机器人非常简单,虽然编写一个厉害的机器人很难。点击Robot/Editor菜单,或者按Ctrl+E打开机器人编辑窗口。选择 New/Robot菜单新建一个Robot,根据提示输入Robot的名字和Package的名字。新建的Robot已经包含如下代码,其实这已经是一个 可用的坦克机器人,保存,编译后,你就可以在New Battle对话框选择新建的机器人了。
package a11;
import robocode.*;
/**
* A11 - a robot by (your name here)
*/
public class A11 extends Robot
{
/**
* run: A11’s default behavior
*/
public void run() {
// After trying out your robot, try uncommenting the import at the top,
// and the next line:
//setColors(Color.red,Color.blue,Color.green);
while(true) {
// Replace the next 4 lines with any behavior you would like
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
/**
* onScannedRobot: What to do when you see another robot
*/
public void onScannedRobot(ScannedRobotEvent e) {
fire(1);
}
/**
* onHitByBullet: What to do when you’re hit by a bullet
*/
public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}
}