参见英文答案 >
How does one generate a random number in Apple’s Swift language? 25个
我可以在我的游戏中为我的项目选择一个随机数,但是
是否有可能在2个数字之间选择一个随机数?
我可以在我的游戏中为我的项目选择一个随机数,但是
是否有可能在2个数字之间选择一个随机数?
而不是
let number = (arc4random_uniform(100))
我想要这样的东西:
let number = (arc4random_uniform(10...20))
或类似的东西?
现在,如果我得到武器掉落,它可以是我列表中的所有内容.
通过这种方式,我可以做到这一点,只有前几个会对特定怪物有所下降,或者在更高级别,他们会丢弃更好的武器而不是低等级.
解决方法
Xcode 10•Swift 4.2
extension Range where Bound == Int { var random: Int { return Int.random(in: self) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension ClosedRange where Bound == Int { var random: Int { return Int.random(in: self) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } }
Xcode 9•Swift 4
extension Range where Bound == Int { var random: Int { return lowerBound + numericCast(arc4random_uniform(numericCast(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension ClosedRange where Bound == Int { var random: Int { return lowerBound + numericCast(arc4random_uniform(numericCast(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } }
Xcode 8.3.2•Swift 3.1
extension Range where Bound: Strideable,Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension ClosedRange where Bound: Strideable,Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } }
用法:
(10...20).random // 16 (0...1).random(10) // [0,1,0]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。