问题标签 [robocode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
158 浏览

java - 是否可以在“主”机器人类之外调用机器人方法?

我正在尝试在 robocode 环境中制作机器人。我的问题是,如果我想(例如)在我的机器人类之外调用方法“fire()”(所以扩展 Robot 并具有运行的类,onHitBybullet,...方法),我该怎么做?

这只是我尝试过的事情之一(我的最新):

解释器代码:

包装样品;

我根本不是Java专家,所以也许我遗漏了一些东西,但是我尝试创建另一个类并使其扩展我的机器人类(因此继承了Robot方法),但是由于扩展了Robot的类,Java抛出了错误需要运行,onHitByBullet .. 方法。

0 投票
1 回答
284 浏览

java - 在 Robocode 中未调用 onScannedRobot 方法

我正在 Robocode 中创建一个简单的机器人。我有如下所示的功能墙:

请注意,seeandwallBool是我的代码前面已经声明过的变量。在函数内的 while 循环中,我调用了该turnRight();方法,该方法应自动扫描其他机器人。但是,我的代码没有在我的onScannedRobot函数中运行,包括如下:

支票永远不会打印到控制台。怎么了?

任何帮助将不胜感激...

0 投票
1 回答
176 浏览

java - Robocode - 如何计算战斗结束时赢得的回合数?

我想我可以通过从回合数中减去死亡数来计算赢得的回合数,但是我的计数器没有增加:

在日志中没有得到任何编译错误或任何其他错误。当我在 onBattleEnded 事件中将变量输出到日志时,输出(100 轮后)为:

完整代码如下:

使用的 Robocode 版本是 1.9.2.6

0 投票
1 回答
65 浏览

java - 以后如何使虚拟键变小?

如何制作像大小写 VK_k 而不是 VK_K 的小 vk 字母?使用 Switch Case 谢谢

0 投票
2 回答
139 浏览

java - Robocode 响应式车削

我正在尝试为机器人代码制作一个机器人,当它看到机器人时它总是垂直旋转。

如果您不知道什么是机器人代码,请想象一个自上而下的游戏,其中方向以度数记录

我已经制定了一个方程式,可以满足我的要求,但效率很低

(例如,getHeading 是目标面对的方向,getHeading 是我面对的方向注意还有一个方法 getBearing 可以显示相对于敌人的角度)

但问题是它有时会走很长的路,而不是最短的路线。我可以使用什么更好的方程式来始终正确地转向?

0 投票
0 回答
63 浏览

java - 如何防止我的机器人接触某条线?

我对 java 和 robocode 很陌生,所以如果我的问题很愚蠢,请多多包涵。

我可以计算出对手子弹的行进路线,但我想知道如何存储和移动机器人,使其不接触任何这些线(我必须使用普通机器人,而不是 AdvancedRobot) . 有没有这样的方法(我不是在寻找代码,也没有实现这个,我只是在寻求有关如何解决这个问题的建议)?

0 投票
1 回答
944 浏览

java - 将 jar 文件导入 robocode 不起作用

我正在使用机器人代码 1.9.2.6

我为我的机器人创建了一个简单的 Maven 项目。当我将生成的 jar 导入 Robocode UI 时,Robot-> Import Robot。它说机器人导入成功,并且jar文件被复制到机器人文件夹中。

之后,当我创建一个新的战斗时,我的机器人不会出现。尝试刷新和清理缓存。

当我在首选项-> 开发中设置我的类文件夹的路径时,它可以工作。

如果需要更多信息,请告诉我。

0 投票
1 回答
1005 浏览

java - Robot 在运行时无法找到 Robocode 库

我的项目根目录中有编程游戏“Robocode”,因此我可以在任何地方运行该项目,而无需将其安装在 C:/robocode 中。我有一个带有以下选项的运行配置;

  • 主类: robocode.Robocode
  • 虚拟机选项: -Xmx512M -Dsun.io.useCanonCaches=false -Ddebug=true -DNOSECURITY=true -cp libs/robocode.jar
  • 工作目录: MY_ROOT\robocode_master
  • JRE:默认(9.0.1 - 我的主模块的 SDK)

我正在为连接到 MongoDBAtlas 集群以获取必要数据的 AdvancedRobot 编写一些自定义功能。我正在使用 mongo-java-driver-3.6.1。.jar 已作为库添加到 IntelliJ,然后作为对主模块的编译依赖项。它在测试中运行良好,我可以下载文档等。

为了说明,这些库显示在“项目结构”窗格中。

项目结构

我已将编译输出路径设置为robocode_master/robots目录,这样当我从 IntelliJ 运行 Robocode 时,它​​会在正确的目录中看到自定义机器人 .class 文件,并允许我将它们添加到战斗中。

问题是当我开始战斗并且机器人试图做它需要做的事情时,它会抛出一个java.io.FileNotFoundException并试图从robocode_master/robots目录中找到必要的库文件。

例如,它做的第一件事就是连接数据库;

当我将项目输出路径设置为 robots 文件夹时,在启动 Robocode 时,它​​会抛出一堆 FileNotFoundExceptions。但是,如果我将选项切换到“继承项目编译输出路径”,然后启动 Robocode,我不会在启动时遇到异常。但是现在当然,我的机器人不在默认目录中,所以它看不到它们。因此,我将out/production/...中的新路径添加到 GUI 中的 Robocode 并重新启动,然后我从机器人那里得到相同的异常。它现在尝试在out/production/.../com/mongodb/MongoClient.class中查找文件

如何“告诉”Robocode 在类路径的默认位置查找库?

0 投票
1 回答
379 浏览

java - robocode 中的线性定位

谁能解释我这段代码?我不明白循环中的条件和“预测的 X”。为什么predicted_X < 18?18 是什么意思?

0 投票
0 回答
40 浏览

robocode - Ahead() 方法中的异常

我创建了 AdvancedRobot。在 Run() 的第一轮之后,我从 Ahead 方法中得到了异常。

例外情况是:

System.InvalidCastException:“无法将“net.sf.robocode.dotnet.peer.ExecCommands”类型的对象转换为“net.sf.robocode.dotnet.peer.ExecResults”类型。”</p>

java.lang.Throwable; StackTrace „($exception).StackTrace”:„System.InvalidCastException” {System.InvalidCastException} 源“jni4net.n-0.8.7.0”

结果我的机器人有一个标签“禁用”并且不会移动。你有什么想法吗?

我将 Robocode 用于 .NET。