Я генерирую числа от 1 до 52 (чтобы раздавать случайные игральные карты), однако я хочу убедиться, что ни одно из них не совпадает. Всего будет раздано максимум 17 карт, и они должны быть разными. Это не дубликат, так как ни один вопрос не отвечает, как проверять повторения в случайных числах более двух разных значений.
Вот сокращенная версия кода для удобства:
let randomPlayerCard1 = Int(arc4random() % 52) // Generates random numbers
let randomPlayerCard2 = Int(arc4random() % 52)
let randomCentreCard1 = Int(arc4random() % 52)
let randomCentreCard2 = Int(arc4random() % 52)
let randomCentreCard3 = Int(arc4random() % 52)
let randomCentreCard4 = Int(arc4random() % 52)
let randomCentreCard5 = Int(arc4random() % 52)
while randomPlayerCard1 == randomPlayerCard2 { /* I don't want to create "while"
statement for every combination of 2 of the eventual 17 random values being equal*/
}
playerCard1.image = mapping[randomPlayerCard1]
playerCard2.image = mapping[randomPlayerCard2]
Я также пробовал что-то вроде:
while randomPlayerCard1 == randomPlayerCard2 == randomCentreCard5 == randomCentreCard3
Но тебе не позволено сделать это, как я и ожидал.
Спасибо за любую помощь!
deck
, инициализированный всеми 52 картами, и вытягивал бы из него случайные карты, генерируя случайное число и удаляя эту карту. - person Alexander   schedule 17.07.2016