2013-03-03 36 views
0

在我的應用程序中,當敵人死亡時,彈藥正在被丟棄。這個代碼有4種不同的彈藥類型int diceRoll = arc4random() % 3; //0 to 3每種彈藥類型現在具有25%的產卵頻率。是否有可能使彈藥類型2變得更頻繁?例如高達40%,因此其他彈藥類型將是20%iOS - Diceroll增加一個物體的頻率

回答

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; 

增加一套隨機divinding它似乎是一個好主意。

+0

它很難看到不同的玩法,所以我測試了一個頻率爲2到70%的ammotype,但它似乎並沒有比其他頻率更頻繁發生:/ – Stumpp 2013-03-03 12:06:18

+0

這就是爲什麼它是隨機的,概率增加幫助,但不定義發生...繼續使用,最終你會注意到 – TtheT 2013-03-03 12:10:48

+0

順便說一句,爲了使它更明顯增加設置,比如1 00甚至1000 ...這只是在代碼 – TtheT 2013-03-03 12:12:58

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.