所以我的目标在这个码位是随机滚动两个骰子,因为我们都知道你的常规模具只有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;
原文地址:https://www.jb51.cc/swift/321422.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。