问题标签 [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 投票
1 回答
116 浏览

robocode - 无法打包我的机器人

我正在尝试打包使用 .Net 创建的机器人代码机器人,但它没有出现在“打包机器人或团队”窗口下的列表中。

我正在使用带有 .Net 2.0 的 VisualStudio 2013 来创建 DLL。我的机器人文件夹中有 DLL,我可以在玩战斗时选择它。但是它不会出现在 Package robots 列表中(只有团队机器人出现)。

我错过了一步吗?

谢谢,

0 投票
3 回答
1810 浏览

java - 如何在 Robocode 上的 java 中解决“语法错误,静态导入仅在源级别为 1.5 或更高版本时可用”

我正在尝试在 robocode 上编译机器人,但它说“静态导入仅在源级别为 1.5 或更高版本时可用”

我不明白这是什么意思。我在其他论坛上看到可以更新Java,但我的电脑已经安装了最后一个Java。我能做些什么?

这是我试图编译的代码:

0 投票
1 回答
625 浏览

java - 为什么 robocode 没有启动?

我已经安装了最新的 Java 版本,然后尝试从终​​端和 sourceforge 安装 Robocode,但在第一种情况下出现错误:

我也尝试从 setup.jar 安装,但是在文件目录中没有 robocode.sh 文件。有什么建议么?

0 投票
0 回答
80 浏览

machine-learning - 如何为机器人代码构建状态/动作的 Q 表?

所以我的问题是理解为Q-table每个状态创建更多参数的状态,比如robocode。网上 99% 的例子都太简单了,很难想象像这样复杂的环境。

根据我在 Q-learning 中的理解,创建了states/actions...的 2D 表,因此对于每个游戏状态都会出现一些动作。在游戏中喜欢FrozenLake它真的很简单。从每个正方形(X/Y 点)你有 4 个可能的动作(上、下、左、右)。这意味着在 4x4 FrozenLake 字段中,您有 16 个可能的状态,每个状态有 4 个动作(Q 表 16x4)。就是这样。

但在 robocode 中,您要记住:炮塔角度、X/Y 坐标、能量和敌人状态,其中包含相同的参数。这些所有参数代表 1 个状态,对吗?所以算法必须考虑到所有这些值。当然,如果我想在我的i5-4210H 2.9GHz.

所以

1) 如何为 robocode 创建 Q-table,它会是什么样子?

2)简化所有这些状态值的最佳方法是什么?

PS:我们把它作为一个学校项目,我们用 Java/C# 来做,因为 robocode 支持这两种语言。

0 投票
1 回答
582 浏览

java - 如何解决“找不到或加载主类 robocode.robocode”错误?

我现在是 Robocode 的初学者,现在我正在尝试从 Eclipse 运行我的第一个机器人。我已按照Robocodewiki上的教程进行操作,但 Eclipse 不断报告Error: Could not find or load main class robocode.Robocode Caused by: java.lang.ClassNotFoundException: robocode.Robocode

这是我的第一个机器人代码:

}

E:\Java Pojects\MyRobot当我的机器人代码安装在C:\robocode JRE 库JavaSE-11(jdk-11.0.1)和机器人代码版本时,该项目存储在1.9.3.7

感谢是否有人可以帮助我

0 投票
2 回答
261 浏览

java - Robocode:onScannedRobot 的精度

我写了一个相对简单AdvancedRobot的方法,它可以转动雷达并记录所有敌人的速度。最终,我注意到机器人在不应该错过的情况下错过了。我从 Robocode/Graphical Debugging wiki 复制了代码并对其进行了测试。这是代码(Wiki目前已关闭):

和事件处理程序:

“实心方块”绝对不在机器人的顶部。下面显示了几个屏幕截图。看起来精度取决于距离,但我不确定。这是预期的,还是我做错了什么?

第 1 枪 射击 2

0 投票
1 回答
80 浏览

java - Robocode BasicBot 进入地图中间......不是

这是经典的 Robocode 练习题之一:走到地图的中间。我不想移动两次(一次用于 x 轴,一次用于 y 轴),而是将方位向中间移动,并在设置机器人方位后单次移动。

令我沮丧的是,它似乎不起作用。相反,我从机器人观察到的行为是它们转动 180 度并向前移动以达到 'r' 的值,这是“三角形”向中间的斜边。每个循环的距离似乎越来越小,所以我认为“r”的公式是正确的。我怀疑是方法setWest()setEast()我写了。他们的目的是将机器人设置为平行于面向东或西的水平面。然后我再次使用 theta(这是第二个不确定的部分)将机器人向中间旋转并移动它。

Robocode 中实现的方法是不言自明的,但不是我的。这是我写的代码:

请不要介意无限循环,这只是为了观察行为。run()是机器人的主要方法;默认情况下调用它。

0 投票
0 回答
51 浏览

java - Robocode - 枪不指向与雷达相同的方向

雷达工作正常,但即使我将枪旋转到与雷达相同的角度,它也只是随机射击。

0 投票
0 回答
23 浏览

java - 如何从 Injected GRPC 服务器调用父线程方法

总体而言,我希望扩展robocode以注入仅在服务器调用上进行的服务器。

我可以按照快速入门示例创建 grpc 服务器,并发送/接收请求。但是,服务器是一个静态对象,我一生都无法弄清楚如何从服务器传递实例化对象。

这是我正在尝试做的一些伪代码。

如何pause从 中调用该方法BattleServer?我应该在这里遵循一些模式吗?我需要实现自己的 GRPC 服务器吗?我对多线程编程非常不熟悉,查看了互斥锁,但我仍然必须访问该对象,并且互斥锁对象在静态范围内不可用。

坦率地说,我有点卡住了,任何关于进一步阅读或概念的方向都绝对值得赞赏。