Как можно запретить выбор некоторых нуберов с помощью функции arc4random?
Текущий код:
int random = (arc4random() % 92);
(цифры от 0 до 92)
Я хочу запретить следующие цифры: 31, 70, 91, 92
31, 70, 91, 92
Во-первых, вам нужно изменить
% 92
до
% 93
чтобы получить числа от 0,92
Я бы сделал что-то вроде этого
int random; do { random = arc4random() % 93; } while ( random == 31 || random == 70 || random == 91 || random == 92 );
Если вы собираетесь запретить номера 91 и 92, зачем их включать в ваш мод?
В продолжение предыдущего ответа:
int random; do { random = arc4random() % 91; } while ( random == 31 || random == 70 );
Простой, продолжайте спрашивать номера:
get a new random number while the new number is one of the disallowed ones: get a new random number return the random number
Псевдокод, но вы должны понять.
Решение для Swift:
func randomValue(except: Int) -> Int { var rand: Int = 0; repeat { rand = Int(arc4random_uniform(3) + 1) } while(rand == except) return Int(rand) }