java - 多种语言的随机数

标签 java android ios swift random

我正在尝试制作一款游戏,其中两个玩家进行战斗并按下屏幕上的按钮来对彼此造成伤害。角色可以造成的伤害应该是1到10之间的随机数。被攻击的角色受到的伤害应该是相同的随机数。

该游戏可在 Android 和 iOS(Java 和 Swift)上玩,但如何确保为造成的伤害和收到的伤害生成相同的随机数?我意识到我可以将造成的伤害发送给被攻击的玩家,并从他们的生命值中扣除该金额,但我想知道是否有一种方法可以在 Java 和 Swift 中生成相同的随机数序列,这样我就不会通过服务器。

最佳答案

您可能可以让每个对等点既是客户端又是服务器。这称为对等网络。但是,您必须确保客户端没有被黑客攻击。这可能很难实现。这是一个艰难的情况,小型服务器将是最好的方法。

(P.S. 最好的语言很可能是 Haxe 。我以前使用过这种语言)

...实际上,我考虑过,你可以有一个在对等点之间共享的随机种子。您可以计算双方对双方的伤害,以确保其有效。

编辑: 根据文档,Haxe 的 Math.random() 在具有给定种子的平台上似乎是相同的。它可以编译为 iOS 和 Android 代码以及其他平台。

关于java - 多种语言的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40600981/

相关文章:

java - 在 JCheckBox 中自定义 "Box"

java - 有没有在 CBE 上运行的 JVM?

android - 如果AsyncTask未完成,如何设置固定时间

java - 如何在 JNI 中将 Java 长对象传递给 C

ios - 嵌入 UIViewController 的子容器的自动布局

iOS UIInputViewController : present Custom UIViewController + NIB

java - 在 Java 中用更少的代码初始化变量的更好方法是什么?

java - java中的子包

java - 如何解决 Execution failed for task transformClassesWithDexForArmv7Debug on Cordova

iOS 8+ 从后台恢复应用程序时核心数据故障