你如何禁止使用arc4random函数选择一些nubers?
当前代码:
int random = (arc4random() % 92);
(数字从0到92)
我希望它不允许使用以下数字:31, 70, 91, 92
答案 0 :(得分:9)
首先,您需要更改
% 92
到
% 93
从0..92获取数字
我会做这样的事情
int random;
do {
random = arc4random() % 93;
}
while ( random == 31 || random == 70 || random == 91 || random == 92 );
答案 1 :(得分:4)
如果你打算不允许使用数字91和92,为什么还要在你的mod中包含它们呢?
扩展上一个答案:
int random;
do {
random = arc4random() % 91;
}
while ( random == 31 || random == 70 );
答案 2 :(得分:2)
简单,不断询问数字:
get a new random number
while the new number is one of the disallowed ones:
get a new random number
return the random number
伪代码,但你应该明白这一点。
答案 3 :(得分:0)
Swift解决方案:
func randomValue(except: Int) -> Int {
var rand: Int = 0;
repeat {
rand = Int(arc4random_uniform(3) + 1)
}
while(rand == except)
return Int(rand)
}