首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS - Diceroll增加一个对象的频率

iOS - Diceroll增加一个对象的频率
EN

Stack Overflow用户
提问于 2013-03-03 19:17:17
回答 2查看 69关注 0票数 0

在我的应用程序中,当敌人被杀死时,弹药就会被丢弃。有4种不同类型的弹药与这个代码int diceRoll = arc4random() % 3; //0 to 3,每种弹药类型现在有25%的频率为产卵。例如,是否有可能使第二类弹药变得更加频繁?例如,最高可达40%,因此其他弹药类型将为20%

EN

回答 2

Stack Overflow用户

发布于 2013-03-03 19:28:17

您是否尝试过:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-03-03 21:06:56

Careful...int diceRoll = arc4random() %3给出了3个不同的值:0到2,如下所示:

代码语言:javascript
复制
int i, diceRoll;
for (i=1;i<20;i++){
    diceRoll = arc4random() % 3;
    NSLog(@"Roll %i",diceRoll);
}

"%“表示”除以时的余数“,没有余数3。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15185073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档