简单的问题,但我对这里的细微差别感兴趣。
我使用自己想到的以下方法生成随机布尔值:
const rand = Boolean(Math.round(Math.random()));
每当random()
出现时,似乎总会有一个陷阱–它不是真正的随机性,它受到某种或其他因素的损害,等等。所以,我想知道:
a)以上是最佳做法吗?
b)我在想什么吗?
c)我在想什么吗?
d)有我不知道的更好/更快/更优雅的方式吗?
(如果B和C是互斥的,也有些兴趣。)
更新资料
如果有什么不同,我正在使用它来移动AI角色。
实际上没有什么是随机的,目标是尽可能接近随机。
—
亚当·布坎南·史密斯
而且,如果您有50/50的机会,
—
亚当·布坎南·史密斯
math.random
应该会很多。只需使用毫秒作为种子。
我认为访问网站的时间非常随机:D所以我有了这个主意……
—
Roko C. Buljan
Boolean(+Date.now()%2)
const rand = Math.random() < 0.5
等价且简单。