私のアプリケーションでは、敵が倒されると弾薬がドロップされます。このコードには 4 種類の弾薬があります。弾薬の種類int diceRoll = arc4random() % 3; //0 to 3
ごとに 25% の頻度でスポーンされます。たとえば、弾薬タイプ 2 をより頻繁にすることは可能ですか? たとえば、最大 40% なので、他の弾薬タイプは 20% になります。
質問する
69 次
2 に答える
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;
ランダムのセットを増やして除算するのは良い考えのようです。
于 2013-03-03T11:28:17.093 に答える
0
注意...intdiceRoll = arc4random()%3は、0から2までの3つの異なる値を示します。これは次のようになります。
int i, diceRoll;
for (i=1;i<20;i++){
diceRoll = arc4random() % 3;
NSLog(@"Roll %i",diceRoll);
}
「%」は「除算したときの余り」を意味し、余りはありません3。
于 2013-03-03T13:06:56.253 に答える