如何做一个随机数在arc4random_uniform()之间的范围?

所以我的目标在这个码位是随机滚动两个骰子,因为我们都知道你的常规模具只有6面,所以我导入Foundation访问arc4random_uniform(UInt32)。我尝试使用范围(1..7),以避免随机获取0,但返回一个错误,我不喜欢太多。我试图这样做:
dice1 = arc4random_uniform(UInt32(1..7))

然而,返回

Could not find an overload for ‘init’ that accepts the supplied arguments

我希望这是足够的信息,你惊人的debs在那里帮助我:)

请注意,我只是在操场上练习快速。我不是必须学习如何做到这一点;它只是我修补,我才开始构建实际的应用程序:D

//imports random number function
import Foundation
//creates data storage for dice roll
var dice1: UInt32 = 0
var dice2: UInt32 = 0
//counter variable
var i = 0
//how many times snake eyes happens
var snakeeyes = 0
 //how many times a double is rolled
var `double` = 0
//rolls dice 100 times
while i < 100{
    //from here
    //sets dice roll

这返回一个错误’Range $ T3’不能转换为UInt32

06002

//checks for snake eyes
    if dice1 == 1 && dice2 == 1 {
        snakeeyes = snakeeyes + 1

    }
    //checks for doubles
    if dice1 == dice2{
        `double` = `double` + 1
    }
    //increases counter
        i = i + 1
    //to here
}
println("You got Snake Eyes \(snakeeyes) times.")
println("You got Doubles,\(`double`) times.")
我相信你应该做的
dice1 = arc4random_uniform(6) + 1;

获得范围1 – 6.我不做iOS目标C也没有我对swift语言的任何知识,虽然。随机方法应该返回一个介于0和5之间的值,1将使它成为介于1和6之间的值。

如果你需要一个范围之间,让说10 – 30然后只是做

int random = arc4random_uniform(20) + 10;

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...