無料で俺がRPGを作れるようにするスレat GAMEDEV無料で俺がRPGを作れるようにするスレ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト239:200 04/04/02 00:46 HxQygUy0.net srand((unsigned)time(NULL)); は、最初に一回だけね。ループには入れないで。 srandは乱数ジェネレータの初期値。 rand()関数はsrandを実行しなくても一回一回違う値を返すけど、もう一度プログラムを実行してもまた同じ値を返してきてしまう。 一回目の結果:7,2,5,6,4,1... 二回目の結果:7,2,5,6,4,1... こんなカンジで。 srandでtime(NULL)を与える理由は、プログラムを起動するごとに違う値を出力するようにするため。 一回目の結果:7,2,5,6,4,1... 二回目の結果:5,1,8,4,3,7... ってカンジで。 timeは確か秒単位だったから1秒以内ならrandが同じ結果を返すことになる。 って、コレも猫でもわかるプログラミングで説明されていたような・・・ 240:200 04/04/02 00:49 HxQygUy0.net あ、別のサイトだったっぽいです。 241:98 04/04/02 20:19 RjQBCx/D.net おまじない程度の認識しかなかったので、ここが原因とは思いませんでした。 ランダムに動くようになりました。 ふと思ったんですが、WINAPIなら timeGetTime()%10; でも0~9のほぼ乱数ができるような 気がするんですが、これって邪道でしょうか。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch