【cocos2dx】ランダムな数字を取り出す。

【cocos2dx】ランダムな数字を取り出す。
   

ゲーム内の、例えば、敵などを行動させる時には、Playerの意図しない行動をとらせると面白くなります。
この場合は、色々なパラメーター(時間や自分のライフ、Playerとの距離)によって動きを変えたりするのですが、完全にランダムに行動をさせる時があります。
今回は、その際に利用できそうなランダムな数字を利用する方法を「cocos2dx」で、実装をしたいと思います。

ここまで、難しく書いていますが、実際のコードは、ごくわずかです。

【追記 10/29】
ランダムな数字を取得する場合、もっと簡単な方法がありましたので、記事に追記をしています。

コード

実際のコードは以下のようになります。

 srand((unsigned int)time(NULL));
   
 int randNum = rand()%10;



コード解説

実際にランダムな数字(int型)を取り出す際にはrand()を利用します。
例えば、0~3までの中の数字をランダムに取り出したいときには以下の様なコードになります。


 //0~3を取り出すには4
 int randNum = rand()%4;



rand()の後に%(数字)があり、この数字の範囲内の値が取り出せます。

ただ、これでランダムな数字を取り出すことができますが、繰り返し利用する場合、いつも同じ数字になってしまいます。
これではいけないので、srand()を利用します。


 srand((unsigned int)time(NULL));


取り出す前に、以下のsrand()をつければ、rand()が呼び出されるごとに取り出される数字は変わってきます。


[参考]


追記 10/29

twitterで、「ランダムな数字を取り出す」もっと簡単な方法を教えてもらいましたので、その方法を追加して記述をします。
以下の一行のコードを書けば、上記で書いた2行のコードに該当しますので、とても簡単です。


    //arc4random()を利用すれば、簡単です。
    int randomNum = arc4random()%10;


%の後に、取り出したい数字の範囲を指定します。

Related Posts Plugin for WordPress, Blogger...