为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Swift生成(10…20)范围内的随机数

如何使用Swift生成(10…20)范围内的随机数

慕田峪7331174 2019-12-06 12:39:56
我可以为游戏中的物品选择一个随机数,但是可以选择两个数字之间的随机数吗?所以代替let number = (arc4random_uniform(100))我想要这样的东西:let number = (arc4random_uniform(10...20))或类似的东西?现在,如果我得到了放下武器的信息,那么它可能就是清单中的所有内容。这样我就可以做到,这样只有前几个会掉落特定怪物,或者在更高等级时他们会掉落更好的武器,而不是低等级。
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

Xcode 11•Swift 5.1或更高版本


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]


查看完整回答
反对 回复 2019-12-06
  • 2 回答
  • 0 关注
  • 1901 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信