教你玩Robocode(1)

robocode -安装- 1.6.0.1.jar robocode 1.6最新版 robocode是一个特别java游戏,玩法需要玩家有高超的计算能力和java面向对象知识,同时对java的图形定位有很高要求 编一段代码,run it,看你的坦克机器人怎样扫荡吧 立即下载

最近在上网时发现了一个叫做Robocode的游戏。最近我已经对它上瘾了。Robocode官方网站上对Robocode的介绍:

Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.(大意是Robocode是一个编程游戏,玩家目标是开发自己的坦克去对抗别人开发的坦克。)

Robocode十分容易上手,步骤无非是: 下载 - 安装 - 开发 - 运行。

 

下载:

http://sourceforge.net/projects/robocode/files/

我下载的是robocode-1.7.2.0-Beta-2-setup.jar

 

安装:

安装Robocode之前,要先安装JDK

安装JDK后直接双击下载下来的jar文件就可以开始安装了。如果这样不行,可以在进入命令行,并转到jar文件所在目录,并执行下面命令:

java -jar robocode-1.7.2.0-Beta-2-setup.jar

注意上命令中-jar参数中指定的是你下载jar包的文件名,可能会因为你的版本的不同而不同。

 

先玩一把

安装好后,你可以在桌面上看到游戏的快捷方式。还等什么,双击运行!

Robocode预置了一些样例坦克供你娱乐和参考。不如让他们互相PK下,感受感受。在Robocode程序主页面菜单中选择Battle->new,以便创建一个战役:

创建战役

在New Battle 窗口中,选择一些坦克

选择参战坦克

上图中最左边是坦克分类(是按照包分类的),中间是该分类中包含的坦克,通过“Add”或“Add All”按钮添加几个坦克后,点击Start Battle按钮,它们之间就可以PK了!但是要小心哦,不要一次添加太多坦克,否则你的Java虚拟机会内存溢出的,呵呵。

下面是PK时的场景:

互相PK

 

该面板上有一些按钮,大家可以自己试试,通过调节下方的滑块可以改变游戏速度。

 

我也来开发

开发第一个坦克只需要花费你不到一分钟时间。但是要开发一个真正NB的坦克,可能要花费你好几月的时间。我们就从最简单的开始吧。

Robocode集成了一个简单的代码编辑器,可以帮助你创建坦克类,并且编译和部署。通过Robot->Editor打开编辑器:

打开编辑器

然后在编辑器中创建一个新的坦克:

new Robot

设置你的坦克名称(类名):

指定坦克名称

设置你坦克所在的包(因为我们正在创建一个Java类,所以最好指定报名):

指定包名

下面是自动生成的坦克代码:

自动生成的坦克代码

如上图所示,编辑器为我们创建了一个继承自Robot类的类,并覆盖了其中的一些方法:

run()方法: 因为每个坦克实例对象都对应一个线程,所以,我们在run方法中定制坦克的主要行为

   在run方法中,我们当然可以调用父类提供的一些方法,以便让我们的坦克动起来!如:

   ahead -- 向前移动

   turnGunRight -- 炮塔向右旋转指定角度

   ...

onXXX方法: 当某些事件发生时,该方法会得到执行

    编辑器为我们创建的坦克类覆盖了onScannedRobot方法和onHitByBullet方法,这样,我们可以编写当坦克发现敌情和被别人打中时所采取的动作。

   对于如何更好的实现自己的坦克,我将在后面的文章中进行介绍。

 

编译、部署、运行!

保存文件。

通过Compiler->Compile编译Java类

关闭编辑器,再次创建新战役,你可以看到你创建的第一个坦克了:

看到了吧,你自己创建的坦克

 

后续文章我会介绍一些更深入的技术!

 

坦克机器人战斗仿真引擎 Robocode 立即下载

相关推荐

H5获取手机相机或相册图片两种方式-Android通过webview传递多张照片给H5

H5调用公共获取图片文件方法,在android手机端,H5主要依赖Webview,这边在webview声明并重写该方法onShowFileChooser使用工具类打开相机或相册,可以两种方式安卓原生方式或者利用第三方组件库方式选中图片,返回uri列表给H5H5收到uri照片列表,并且使用前端方式展示创造价值,乐哉分享!

m0_74823947的博客 3097

Robocode教程(命令简介)

robocode机器人的简易命令介绍手册

qh1112的博客 1575

手把手教你用OpenCompass评估Qwen1.5-1.8B模型(含数据集配置详解)

本文提供了使用OpenCompass评估Qwen1.5-1.8B-Chat模型的详细实战教程。内容涵盖从创建独立Python环境、下载模型与核心数据集,到编写配置文件、执行评测命令及解读结果的完整流程。重点解析了模型与数据集的配置细节,并分享了性能调优与常见问题排查方法,旨在帮助开发者快速上手系统化的模型评估。

weixin_29228781的博客 139

Robocode教程1——安装、运行、配置

Robocode 的安装 系统安装最小环境要求: CPU:Pentium2/400MHz以上 内存:64MB以上 硬盘:10M以上 对硬件要求也不是完全绝对的,你用小的机器配置,带来的是比较慢的运行速度。当然具备以上硬件条件后,还要具有Java运行环境,需Java JDK 1.3以上,如果您没有安装JDK,去Java.sun.com下载/并正确安装配 置J2SDK. 安装

dawnsun2013的专栏 9910

Java开发者必备:Ollama4j客户端库全面指南与实战

在AI应用开发领域,本地部署大型语言模型(LLM)已成为降低成本和提升隐私安全的重要趋势。其核心原理是通过REST API与模型服务器交互,实现文本生成、对话和语义理解等功能。这一技术为Java生态系统带来了显著的工程价值,使开发者能够便捷地将AI能力集成到企业级应用中。Ollama4j作为一款专为Java设计的轻量级客户端库,通过封装底层HTTP通信和JSON处理,提供了类型安全、面向对象的API,极大地简化了与Ollama服务器的交互。它全面支持流式生成、多轮对话、嵌入向量计算以及高级的**工具调用**

weixin_28295799的博客 438

零基础微信理财通基金实操指南(2026版)

先活下来:保证不亏大钱,再想赚钱慢慢变富:年化10%,7年翻倍,这已经很好了开始比完美重要:今天先存100元到零钱通,就是最好的开始现在打开微信,进入理财通,完成第一步风险测评吧!有任何问题可以随时问,我会用最通俗的方式解释。

老韩的Linux云计算架构师进阶之路 1693

Robocode教程2——你的第一个robo,取个好名字哦

你需要准备的东西: 1.c语言的知识和一点点的java知识,robocode意在学习java,不要要太深的java水平,你只要理解java和c的区别就可以了。 2.robocode API,这个以后会经常用到,几乎不能离开,相当于方法字典,robocode的所有方法都在里面。下载地址:http://115.com/file/e765xcsb#javadoc.zip 网页版:http://ro

dawnsun2013的专栏 2211

后仿真中的关于延时问题(物理特性角度)

大家都知道,后仿真讲究仿真时序。那么,在网表阶段,接触到后仿延时问题。今天总结一下。

那么菜的博客 1772

robocode 安装 使用

记录一下 环境: Windows 7 64 JDK 1.8.0_131 一、安装 1、下载 https://robocode.sourceforge.io/ 当前最新版本:robocode-1.9.3.6-setup.jar 2、安装 双击robocode-1.9.3.6-setup.jar 默认安装在C盘,并创建桌面快捷方式; 3、验证 双击 roboco...

yhtppp的专栏 4786

GEE训练教程:基于Sentinel-2卫星的归一化建筑指数(NDBI)等的进行城市扩张分析

本文介绍利用Sentinel-2卫星数据和谷歌地球引擎平台监测印度卡姆鲁普都会区2018-2024年城市扩张的方法。通过计算归一化建筑指数(NDBI)、植被指数(NDVI)和水体指数(MNDWI),采用多阈值规则识别建设用地,并量化不同年份的城市扩张面积。代码实现了从数据预处理、指数计算到面积统计的完整流程,为城市扩张研究提供了可复制的技术方案。关键参数包括年份选择、云覆盖阈值和分类阈值,均可根据研究需求调整。该方法能有效追踪城市边界变化,为城市规划提供数据支持。

此星光明博客 136

5.1 rocr-runtime libhsakmt event 机制全景—从 Doorbell 到 Signal

本文介绍了ROCm/KFD中的Event机制架构,主要解决GPU异步计算中的反馈问题。Event机制分为三层:硬件层触发事件,内核层管理事件通知,用户态接收处理。事件类型分为三大类:同步类事件(如SIGNAL、QUEUE_EVENT)用于任务完成通知,异常类事件(如MEMORY、HW_EXCEPTION)报告错误,拓扑类事件(如NODECHANGE)处理设备变更。该机制通过共享内存和中断实现高效通信,避免CPU轮询开销。后续文章将深入内核实现、Thunk层封装和多队列完成检测实战。

图形/计算GPU的驱动与虚拟化技术分享园地 1308

robocode 相关的总结

robocode 相关的总结

Harry的博客 1553

全面绩效管理:提升整体效能

《全面绩效管理:提升整体效能》 关键词:绩效管理、整体效能、团队绩效、个体绩效、领导力、数字化转型 摘要:本文从绩效管理的基础概念入手,深入探讨了绩效管理体系构建、绩效指标

AI天才研究院 604

RoboCode 参考代码

借鉴博客大佬资源 胜率还可以 学校选拔赛取前五 此机器人排名第六 写之记录 package SLTeam; import java.awt.*; import java.awt.geom.*; import java.util.*; import java.util.List; import robocode.*; import robocode.util.*; public c...

查尔多哈的博客 7333

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

教你玩Robocode(4)——规则系统

理解Robocode的规则系统,你才能写出更好的坦克。许多规则在Robotcode的Roles类中进行了描述。为了便于大家理解,本文对各种规则参数进行详细叙述。 时间 robocode的时间单位为”轮”(turn)。因此,在描述移动速度时,单位为”像素每轮”(pixels/turn)。“轮”是独立于真实时间的抽象时间单位。游戏速度越快,单位时间内执行的轮数就越多。 在

陈朝的专栏 6063

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

教你玩 Robocode(2) —— 使用Eclipse开发Robot

上篇文章对Robocode进行了简单的介绍。本文主要介绍如何使用Eclipse开发Robot。主要步骤如下:1. 在Eclipse中,创建一个Java项目。2. 把Robocode库添加到buildPath:在刚建的项目上右击选择Build path->Add External JARs, 在打开的选择文件对话框中,定位到robocode的安装目录下的lib目录,然后选择rob

陈朝的专栏 7926

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

教你玩Robocode(5)——调试技巧

我们可以使用三种方式调试Robocode: 1. 通过输出监视程序 这是最简单高效的调试方法,在你的代码中加入System.out.println(…)或System.error.println(…),并通过输出监视你的代码。 所有的系统输出都会输出到Robocode的监视器中,在战场上,点击屏幕右侧某个坦克名称按钮,你可以打开Robocode监视器: 2. 通过DEGUG方式进行调试 搞Ja

陈朝的专栏 4966

如何快速入门Robocode:5步创建你的第一个战斗机器人

Robocode是一款极具趣味性的编程游戏,它允许你通过编写Java代码来创建自主战斗机器人,并在虚拟战场上与其他机器人一决高下。本教程将带你快速入门,只需5个简单步骤,即可打造属于你的第一个Robocode战斗机器人。 ## 1. 准备开发环境 首先,你需要准备好Robocode的开发环境。按照以下步骤操作: 1. 确保你的电脑上已经安装了Java开发工具包(JDK)。 2. 克隆Robo

gitblog_00422的博客 927

RoboCode的Intellij环境搭建

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34388207的博客 1096

robocode_摇滚,袜子,Robocode!

Robocode是一个易于使用的机器人战斗模拟器,可在支持Java 2的所有平台上运行。您可以创建一个机器人,将其放置在战场上,并使其与其他开发人员创建的对手机器人进行激烈的战斗。 Robocode带有一组预制的对手,可以帮助您入门,但是一旦超出对手,您就可以与世界上最好的联盟中的世界上最好的联盟对抗,进入自己的创作。 每个Robocode参与者都使用Java语言的元素来创建自己的机器人,...

cusi77914的博客 1209

代码吃鸡:Python-Robocode

最近看到一个很有“未来感”的新闻:一辆特斯拉在拉斯维加斯出了车祸,撞“死”了一个……emmmm……机器人。不知道是意外还是炒作,又或者是这位机器人故意碰瓷,反正人们也无法从受害者口中了解“被特斯拉撞是怎样一种体验”了。图为受害者,情绪看起来很稳定随着“人工智能”的应用场景越来越多,此类新闻以后可能也会越来越频繁。但愿这些机器人们能严格遵守阿西莫夫三定律:机器人不得伤害人类个体,或者目睹人类个体将遭...

Crossin的编程教室 3770

教你玩Robocode(3) —— 坦克基础知识

在Robocode中,坦克分为3个部件: 身体(Body)、炮塔(Gun)、雷达(Radar)。 因此,在Robot类(还记得吗,它是任何坦克的父类)中,有对这些部件操作的方法。要查看Robocode提供的API,可以在robocode目录下的javadoc下找到,也可以在Robocode程序的帮助菜单中找到: 对于Body来说,Robot类提供了4个方法:

陈朝的专栏 4805

robocode_Robocode策略

这篇技巧文章发表在2002年5月的IBM developerWorks期刊的“披风和炮塔:向Robocode大师学习秘密”一文中。 角斗联盟 当我发现Robocode时,没有定期的比赛表明哪种机器人是最好的。 随着新版本机器人的发布,任何存在的比赛都很快过时了。 我为开发自己的机器人所做的测试比任何公开的竞争数据都更加完整和最新。 然后,克里斯蒂安·施奈尔(Christian Schn...

cusi77914的博客 976

在Robocode中使用Vector实现敌人列表

在Robocode中使用Vector实现敌人列表

alain的专栏 1281

robocode

http://robowiki.net/wiki/Category:Open_Source_Bots     最近有一些国内的玩家给我发邮件询问和讨论一些robocode的信息,勾起了我当年的回忆,因此在给Aspirin的回信中一发不可收拾,写下了整个回忆录,发到这里,希望对喜欢robocode的朋友有所帮助,或者权当作一篇玩家故事小品文,一笑了之。</P></BLOC...

修身修心 549

robocode调试技巧

robocode调试技巧  最初玩robocode的朋友可能会埋怨robocode不好编辑、调试,其实虽然robocode做得很简单,可是它还是给我们提供了很多扩充的功能。只要善于利用,调试robocode还是很方便的。  技巧之一:定义自己的robots路径 假设你的robocode是安装在x: /robocode-setup下,那么默认robot代码的存放位置是在x: /robocode-s

2210
上一篇: 热恋Android (3 -- Android项目结构)
下一篇: 教你玩 Robocode(2) —— 使用Eclipse开发Robot
Model_CZ
博客等级 码龄19年 223粉丝 15原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值