How to generate a random number in a range (10...20) using Swift(如何使用 Swift 生成范围 (10...20) 内的随机数)
问题描述
我可以在我的游戏中为我的物品选择一个随机数,但是是否可以在 2 个数字之间选择一个随机数?
I'm able to pick a random number for my items in my game but is it possible to pick a random number between 2 numbers?
所以而不是
let number = (arc4random_uniform(100))
我想要这样的东西:
let number = (arc4random_uniform(10...20))
或类似的东西?现在,如果我得到一个武器掉落,它可以是我列表中的所有内容.通过这种方式,我可以做到只有前几个会掉落特定怪物,或者在更高级别时他们会掉落更好的武器,而不再是低级别.
or something like that? Now if I get a weapon drop it can be everything in my list. This way I could make it so that only the first few would have a drop for a specific monster or at higher level they would drop better weapons and not the low levels anymore.
推荐答案
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 版本,请检查编辑历史记录
Note: For older Swift versions check the edit history
用法:
(10...20).random // 16
(0...1).random(10) // [0, 1, 0, 0, 1, 1, 1, 1, 1, 0]
这篇关于如何使用 Swift 生成范围 (10...20) 内的随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 Swift 生成范围 (10...20) 内的随机数
基础教程推荐
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01