我正在考虑制作一个“编程游戏”,即每个玩家编写一个程序来控制他们的“机器人”,然后让这些程序相互竞争,看看谁赢了(根据“赢”的某种定义)。
为了公平起见,每个机器人程序都应该以相同的速度执行,因此使用本机预编译的 C/C++ 代码似乎是不可能的。
我可以想到 3 个选项,但不确定 2 个:
- 使用在 VM 中运行的语言- 这意味着机器人是用 Java 编写并编译为 JVM 字节码。然后每个机器人都有一个JVM,我需要控制JVM“时钟”或控制执行速度的任何东西。
问题:可以控制JVM“时钟”,告诉它运行X个时钟周期的代码吗? - 使用脚本语言- 机器人应该用 JS 或 Python 或其他语言编写。
问题:同上——速度可以控制吗? - 使用我自己的简化语言-
问题:我正在编写游戏,而不是编译器。这意味着任何玩游戏的人都必须学习另一种语言,这意味着没有人会玩。
所以基本上,我想问题是我可以控制 JVM 或某些语言解释器的执行速度(理论上不是 - 在实践中)?还是有其他我没有想到的选择?