ランダムな値を取得するランダムな値、すなわち乱数はゲームには必須です。ジャンケン一つとっても、何度遊んでも結果が毎回必ず一定になるようなものはゲームとは言えませんよね。ランダムな数を取得します。指定した数値のどれかの数値0~渡した引数までのどれかの値が返ってくる関数です。どれかの値が入ることになります。ゲームにリプレイなどを実装する時、乱数の「初期化」が必要になります。コンピュータは「いい加減」「だいたい」「ばらばら」のような処理が非常に苦手です。コンピュータは本当にランダムな数を生成することは出来ないのです。一般的に乱数は「ランダムに見える数」です。「4,28,3,197」など一見ランダムな数が生成出来たとしても、次回ゲームを起動した時に生成する数も「4,28,3,197」になってしまうという「擬似的な乱数」なのです。次回起動時も異なる乱数になるようになっています。上の例はCの標準関数です)しかし乱数がある規則でしか生成出来ないというのは「乱数の出現を再現したい時」に有効です。乱数には「初期値」が設定出来、初期値が変わると乱数が変わります。ゲームする度に変わる数を渡すことで完全にランダムに見える数が生成出来ます。「ゲームする度に変わる数」には現在の時刻をミリ秒で表した数などをよく利用します。初期値を変えることで乱数が変わるということは逆に言えば、初期値を同じにすれば同じ乱数が生成出来ます。「過去にプレイした時と同じ状態を再現したい時」は初期値を過去にゲームした時と同じにセットして計算すれば過去と同じ乱数が生成出来ます。リプレイはこの性質を利用してプレイ状態を再現するのですが、その辺の話は少し難しいのでとりあえず今は・乱数の初期値を同じにすることで同じ乱数が取得できる・DXライブラリでは初期値を指定しなければ自動的に異なる初期値が与えられるので自然にランダムな値が取得できるとだけ覚えておきましょう。数を渡せばいいだけなので、特に関数の説明はしません。上のことをサンプルプログラムで確認してみましょう。最初の4つはランダムな数が普通に出せていると思います。5つ目からは、最初に設定した初期値と同じ値をSRand関数で設定しました。すると今まで生成した乱数と同じものが生成されていることが確認出来ると思います。