- Objective-C和Sprite Kit游戲開發從入門到精通
- 曹化宇
- 383字
- 2021-01-07 18:57:40
2.15 隨機數
雖然計算機從不干隨機的事,但有時候,比如,在開發游戲的時候,隨機數又是一項非常重要的工具。
在Objective-C中,我們可以使用arc4random()函數快速生成一個隨機的正整數。那么,我們如何控制隨機數的范圍呢?如果這個范圍是連續的就好了,我們主要討論兩種情況。
第一種情況,如果我們需要從0到n-1的隨機正整數,可以直接使用如下的代碼。
int rndNum = arc4random() % n;
代碼中,我們得到arc4random()函數生成的隨機數除以n的余數,這樣,其結果就只是0到n-1之間的整數了。此外,這種情況也可以進行一些變形,比如,我們需要0到n的隨機數,可以使用如下代碼:
int rndNum = arc4random() % (n + 1);
如果需要1到n之間的隨機數,可以使用如下代碼。
int rndNum = arc4random() % n + 1;
第二種情況,如果我們需要min到max之間的隨機整數,可以使用以下代碼。
int rndNum = arc4random() % (max - min + 1) + min;
我們可以看到,這是一個通用的獲取一個連續范圍隨機整數的算法。實際上,如果min為1或0時,我們也就可以推算出前面的代碼了。