Kによる改造のヒント集
- (by K, 2006.09.27)
- 発展課題のページ(全部読む前にここを読むのは混乱するのでおすすめじゃないです)
- 思いつくままに適当に書いています。
ヒント集
- ゲームなどを作ると毎回違う乱数がほしくなります。乱数のパターンを変えるためには srand() という関数を使うのですが、パターンを変えるための番号(乱数の種といいます)も毎回同じだと結局変わりません。
- それで一般的なOSでは時刻取得APIを使って、そのときの時刻を乱数の種にします。
- ちなみにOSASKでは、乱数の種を得るための専用APIがあって、それを使うと「はりぼてOS」でいうところの timerctl.count の値(をもとに計算した値)が得られます。これだと秒よりも速い速度で変わるので、乱数の種には向いていると思います。
- 将来はこのAPIが返す値を設定可能にして(timerctl.countの値モードと固定値モード)、ゲームのデバッグをやりやすくしようと考えています(ゲームのデバッグ時に乱数のパターンを毎回同じにできるようにすると確認しやすい)。
こめんと欄
- srandの宣言てどうなっているのですか?starsで毎回違った星空をだしたいと思っていまして。 -- Triangle_Ld. 2009-05-25 (月) 20:16:04
- ↑関数を自作したら解決しました。すいません。 -- Triangle_Ld. 2009-05-25 (月) 21:03:34
- 「srandは関数」と書くと初心者は「srandは関数なのか!じゃあ宣言しないとな。でもどう宣言するんだ〜」と、混乱してしまいます。「srandは関数だけど宣言する必要はありません」と書けば初心者も混乱しないと思います。 -- 名無しさん 2009-06-24 (水) 16:23:47
|