donc mon objectif dans ce codebit est de lancer deux dés au hasard et comme nous le savons tous, votre dé régulier n'a que 6 faces, j'ai donc importé Foundation pour accéder à arc4random_uniform (UInt32). J'ai essayé d'utiliser la plage de (1..7) pour éviter d'obtenir au hasard 0, mais cela a renvoyé une erreur que je n'ai pas trop appréciée. J'ai essayé de faire ceci:
dice1 = arc4random_uniform(UInt32(1..7))
mais qui est revenu
Impossible de trouver une surcharge pour 'init' qui accepte les arguments fournis
J'espère que ce sont suffisamment d'informations pour que vous puissiez m'aider :)
Veuillez noter que je ne fais cela que dans une aire de jeux pour pratiquer le swift. Il n'est pas impératif que j'apprenne à faire cela; je ne fais que bricoler avant de me lancer dans la création d'applications réelles: 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
Cela renvoie une erreur de 'Range $ T3' n'est pas convertible en 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
pour obtenir la plage 1 - 6. Je ne fais pas d'objectif iOS C et je n'ai aucune connaissance du langage rapide. La méthode aléatoire devrait vous renvoyer 0 - 5, et + 1 sera 1 - 6.