如何使用Swift生成范围(10…20)内的随机数
我可以为游戏中的物品选择一个随机数,但是可以选择两个数字之间的随机数吗?
所以代替
let number = (arc4random_uniform(100))
我想要这样的东西:
let number = (arc4random_uniform(10...20))
或类似的东西?现在,如果我得到了放下武器的信息,那么它可能就是清单中的所有内容。这样我就可以做到,这样只有前几个会掉落特定怪物,或者在更高等级时他们会掉落更好的武器,而不是低等级。
回答:
extension Range where Bound: FixedWidthInteger { var random: Bound { .random(in: self) }
func random(_ n: Int) -> [Bound] { (0..<n).map { _ in random } }
}
extension ClosedRange where Bound: FixedWidthInteger { var random: Bound { .random(in: self) }
func random(_ n: Int) -> [Bound] { (0..<n).map { _ in random } }
}
对于较早的Swift版本,请检查编辑历史记录
(10...20).random // 16(0...1).random(10) // [0, 1, 0, 0, 1, 1, 1, 1, 1, 0]
以上是 如何使用Swift生成范围(10…20)内的随机数 的全部内容, 来源链接: utcz.com/qa/408914.html