Project1

标题: 听说,按规定,游戏必须要公布内部的爆率数值 [打印本页]

作者: SailCat    时间: 2018-2-2 23:29
标题: 听说,按规定,游戏必须要公布内部的爆率数值
所以图1就在按A键后变成了图2……


作者: 怪蜀黍    时间: 2018-2-2 23:34

只是针对网游吧。
作者: chd114    时间: 2018-2-2 23:45
这个合成概率···是只能得到其一还是全部都有机会得到?
作者: yang1zhi    时间: 2018-2-3 00:08
那又怎么样。反正单机都是被SL的
作者: 文雅夕露    时间: 2018-2-3 12:50
概率在单机能立即存档的游戏里并没有太大的作用。
1%的概率也能做到100%成功。
然而,是时候限制存档次数了...
作者: RaidenInfinity    时间: 2018-2-3 14:04
本帖最后由 RaidenInfinity 于 2018-2-3 14:18 编辑

单机SL…嘛。在VA,会玩Random类的话,SL党可以哭了。

转自我在其他帖里的回复:
Random提供了Ruby伪随机数生成器(PRNG)的接口。PRNG会生成固定的,模拟真随机的一系列位(比特)。这些位可以以整数,浮点数或者二位元字符串来呈现。生成器可以透过srand实例方法以系统随机生成的,或者用户指定的“种子”来初始化。类方法rand提供了Kernel.rand的基本功能,而且更好地处理了浮点数。两者都是Random::DEFAULT(Ruby的默认PRNG)的接口。实例方法new会生成一个独立的PRNG。这允许复数个拥有不同状态(种子,序列位置)的PRNG同时存在。Random实例可以被Marshal序列化,因此可以保存起来(存档),也可以在读档后继续运行。

就算该Ruby版本没有Random类,用Kernel的srand配上预先存起来的种子也是很强的反SL机制。

RUBY 代码复制
  1. seed1 = 189776678578449721600411089569209220413
  2. seed2 = 948707177782703391029934157322614421
  3.  
  4. #此方法因为循环所以效率可能不是最好的
  5. #有想法的话可以自己优化
  6. def xrand(seed, num) #种子,序列
  7.   Kernel.srand seed
  8.   val = 0
  9.   num.times do val = Kernel.rand end
  10.   Kernel.srand #恢复随机
  11.   return val
  12. end  
  13.  
  14. #不管怎么跑,输出都是一样的
  15. #所以只需要给每个配方存一个种子,然后记录使用次数
  16. p xrand(seed1, 10)
  17. p xrand(seed2, 5)


作者: 越前リョーマ    时间: 2018-2-4 03:37
你可以放在游戏外面显示,不用放游戏里面……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1