好的,这是我到目前为止的代码:
x = arc4random_uniform(4);
if (x <= 1){
LabelA.text = [NSString stringWithFormat:@"1"];
} else {
LabelA.text = [NSString stringWithFormat:@"2"];
}
{
x = arc4random_uniform(12);
if (x <= 3){
LabelB.text = [NSString stringWithFormat:@"3"];
} else {
LabelB.text = [NSString stringWithFormat:@"4"];
}
}
好的,这样做会随机选择1或2,然后随机选择3或4。所以说它选择1和3.我然后想要它在1和3之间随机选择。如果它确实选择1和3我想要它选择1 20%的时间,但如果它选择2和3我想要它70%的时间选择2。因此,对于每场比赛,它将是:
然后无论选择什么号码我都希望它是LabelC。所以我基本上试图找出如何编码。我希望这是有道理的,你知道我在做什么,但任何建议都会有所帮助。感谢。
答案 0 :(得分:1)
如果你有变量x(1或2)和y(3或4),你可以得到你想要的几率,
int z;
if (x==1 && y==3) {
z= (arc4random_uniform(10) < 2)? 1:3;
}else if (x==1 && y==4) {
z= (arc4random_uniform(10) < 6)? 1:4;
}else if (x==2 && y==3) {
z= (arc4random_uniform(10) < 7)? 2:3;
}else if (x==2 && y==4) {
z= (arc4random_uniform(10) < 3)? 2:4;
答案 1 :(得分:0)
版本较少if
的版本......
int a[][3] = {{1,3,2},{1,4,6},{2,3,7},{2,4,3}};
int rand1 = arc4random_uniform(2);
int rand2 = arc4random_uniform(12);
int index = rand1 * 2 + rand2 > 3;
int b = (arc4random_uniform(10)<a[index][2] ? a[index][0] : a[index][1]);
LabelA.text = @(a[index][0]).stringValue;
LabelB.text = @(a[index][1]).stringValue;
LabelC.text = @(b).stringValue;