在我的应用程序中,当敌人被杀时弹药被丢弃。此代码int diceRoll = arc4random() % 3; //0 to 3
有4种不同类型的弹药。每种弹药类型现在的生成频率为25%。是否有可能使例如弹药类型2变得更频繁?例如高达40%,因此其他弹药类型将是20%
答案 0 :(得分:1)
你试过了吗?
int spaceSet = pow(10, 3); //range of 1000, the bigger the more noticible it gets
int diceRoll = arc4random() % (spaceSet - 1);
if(diceRoll < (2 * (spaceSet / 10)))
diceRoll = 0;
else if(diceRoll < (4 * (spaceSet / 10)))
diceRoll = 1;
else if(diceRoll < (7 * (spaceSet / 10)))
diceRoll = 2;
else
diceRoll = 3;
增加随机和分割它似乎是一个好主意。
答案 1 :(得分:0)
小心... int diceRoll = arc4random()%3给出3个不同的值:0到2,如下所示:
int i, diceRoll;
for (i=1;i<20;i++){
diceRoll = arc4random() % 3;
NSLog(@"Roll %i",diceRoll);
}
“%”表示“除以时的余数”,并且没有剩余3。