ゲーム内の、例えば、敵などを行動させる時には、Playerの意図しない行動をとらせると面白くなります。 この場合は、色々なパラメーター(時間や自分のライフ、Playerとの距離)によって動きを変えたりするのですが、完全にランダムに行動をさせる時があります。 今回は、その際に利用できそうなランダムな数字を利用する方法を「cocos2dx」で、実装をしたいと思います。
ここまで、難しく書いていますが、実際のコードは、ごくわずかです。
【追記 10/29】 ランダムな数字を取得する場合、もっと簡単な方法がありましたので、記事に追記をしています。
コード
実際のコードは以下のようになります。 [c]
srand*1;
int randNum = rand()%10;
[/c]
コード解説
実際にランダムな数字(int型)を取り出す際にはrand()を利用します。 例えば、0~3までの中の数字をランダムに取り出したいときには以下の様なコードになります。
[c]
//0~3を取り出すには4 int randNum = rand()%4;
[/c]
rand()の後に%(数字)があり、この数字の範囲内の値が取り出せます。
ただ、これでランダムな数字を取り出すことができますが、繰り返し利用する場合、いつも同じ数字になってしまいます。 これではいけないので、srand()を利用します。
[c]
srand*2;
[/c]
取り出す前に、以下のsrand()をつければ、rand()が呼び出されるごとに取り出される数字は変わってきます。
[参考]
追記 10/29
twitterで、「ランダムな数字を取り出す」もっと簡単な方法を教えてもらいましたので、その方法を追加して記述をします。 以下の一行のコードを書けば、上記で書いた2行のコードに該当しますので、とても簡単です。
[c]
//arc4random()を利用すれば、簡単です。
int randomNum = arc4random()%10;
[/c]
%の後に、取り出したい数字の範囲を指定します。