srandとSRandについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
あ~る

srandとSRandについて

#1

投稿記事 by あ~る » 15年前

お久しぶりです、あ~るです。
今龍神録ベースのシューティングでリプレイの作成をしていて、乱数の初期値の設定の処理を書く中で疑問が出てきました。
乱数の初期値の設定で使うsrand関数でrand関数の初期値を、SRand関数でGetRand関数の初期値を設定しているんですが、これはあってるのでしょうか?
今はちゃんと動いているのですが、例えば両方する必要は無かったり、若しくは両方すると少し変わっちゃう、みたいな事はあるのでしょうか?
ネットで調べても特にrand関数とGetRand関数の関係が書いてなかったので質問させていただきました。

環境はwindowsXP,BorlandC++で、DXライブラリを使っています。
ご教授よろしくお願いします。 画像

Justy

Re:srandとSRandについて

#2

投稿記事 by Justy » 15年前

>これはあってるのでしょうか
 合っています。
 ただ、設定しているのは“乱数の初期値”ではなく、乱数を生成するための初期値(種)です。

 
>rand関数とGetRand関数
 基本的には関係ないと考えていいので、両方使うのであれば両方とも個別に設定が必要です。
 
 ただ、DXライブラリが DX_NON_MERSENNE_TWISTER定義を伴ってビルドされていた場合、
SRand/GetRand系は内部で標準ライブラリの srand/rand系が使用されることになり、
SRand関数を使うとsrand関数を使ったのと同じことになりますので注意が必要です。
 まぁ、配布されているビルド済みライブラリには DX_NON_MERSENNE_TWISTERはないので
気にする必要はありませんが。 画像

あ~る

Re:srandとSRandについて

#3

投稿記事 by あ~る » 15年前

ありがとうございます!
段々ゲームが大きくなるにつれてこうゆう小さい事が重大なミスに繋がるのがかなり不安だったんで安心しました
ありがとうございました! 画像

閉鎖

“C言語何でも質問掲示板” へ戻る