así que mi objetivo en este codebit es lanzar dos dados al azar y, como todos sabemos, su dado regular solo tiene 6 lados, así que importé Foundation para acceder a arc4random_uniform (UInt32). Intenté usar el rango de (1..7) para evitar obtener 0 al azar, sin embargo, eso arrojó un error que no disfruté demasiado. Traté de hacer esto:
dice1 = arc4random_uniform(UInt32(1..7))
sin embargo eso regresó
No se pudo encontrar una sobrecarga para 'init' que acepte los argumentos proporcionados
Espero que esta sea suficiente información para que ustedes tengan deudas increíbles para ayudarme :)
Tenga en cuenta que solo estoy haciendo esto en un patio de recreo para practicar rápido. No es imperativo que aprenda a hacer esto; solo soy yo jugando antes de saltar a crear aplicaciones reales: 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
Esto devuelve un error de 'Rango $ T3' no es convertible a 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 obtener el rango 1 - 6. Sin embargo, no hago el objetivo C de iOS ni tengo ningún conocimiento sobre lenguaje rápido. El método aleatorio debería devolverle 0 - 5, y + 1 será 1 - 6.