このコードビットでの私の目標は、ランダムに2つのサイコロを振ることであり、ご存じのとおり、通常のサイコロは6面しかないため、arc4random_uniform(UInt32)にアクセスするためにFoundationをインポートしました。ランダムに0にならないように(1..7)の範囲を使用しようとしましたが、あまり楽しめないエラーが返されました。私はこれをやろうとしました:
dice1 = arc4random_uniform(UInt32(1..7))
しかしそれは戻った
指定された引数を受け入れる 'init'のオーバーロードが見つかりませんでした
これが私を助けるためにあなたの素晴らしいデブのための十分な情報であることを願っています:)
私が迅速に練習するために、私が遊び場でこれをしているだけであることに注意してください。これを行う方法を学ぶことは必須ではありません。実際のアプリの作成に飛び込む前に私がいじくり回しているだけです: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
これは、「範囲$ T3」がUInt32に変換できないというエラーを返します
dice1 = arc4random_uniform(1..7) dice2 = arc4random_uniform(1..7)
//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.")
u_int32_t arc4random_uniform(u_int32_t upper_bound);
dice1 = arc4random_uniform(6) + 1
範囲1-6 を取得するためにすべきだと思います。私はiOS目標Cをしませんし、迅速な言語についての知識もありません。ランダムな方法は戻ります0必要があります- 6 - 5、および+ 1が1になります