portanto, meu objetivo neste código-bit é rolar aleatoriamente dois dados e, como todos sabemos, seu dado regular possui apenas 6 lados, então importei o Foundation para acessar arc4random_uniform (UInt32). Tentei usar o intervalo de (1..7) para evitar obter aleatoriamente 0, no entanto, retornou um erro do qual não gostei muito. Eu tentei fazer isso:
dice1 = arc4random_uniform(UInt32(1..7))
no entanto que retornou
Não foi possível encontrar uma sobrecarga para 'init' que aceita os argumentos fornecidos
Espero que essa informação seja suficiente para as suas dívidas incríveis por aí para me ajudar :)
Por favor, note que estou apenas fazendo isso em um playground para praticar rapidamente. Não é imperativo que eu aprenda como fazer isso; sou apenas eu mexendo antes de começar a criar aplicativos reais: 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
Isso retorna um erro de 'Range $ T3' não é conversível em 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
para obter o intervalo de 1 a 6. No entanto, eu não faço o objetivo C do iOS, nem tenho conhecimento de linguagem rápida. O método aleatório deve retornar de 0 a 5 e + 1 será de 1 a 6. #