Learelさん
情報コーナーHYPER34回のげしさんの意見について。おそらく、乱数を初期化するのはゲームを起動した時点とかデータをロードした時点で1度初期化されるだけだと思います。歩いている地形が変わるだけでいちいち初期化し直してはいないと思います。数字がいっぱい出て来て怖いよ〜(なぜ)。なので、一度ロードし直すとかして(ゲームによって初期化位置は違うと思うが)乱数を初期化し直さないと同じ数値が出続けると思います。
たとえば普通の平地での敵の出現確率が10%なら0以上1未満の乱数を100倍して10以下(もしくは90以上)なら出現するようにプログラムされているとします。ここで発生した乱数が0.37440.51270.0122だったとします。これを100倍すると37.4451.27 1.22ここで敵が出現するのは3歩目ということになります。この発生する乱数の数値は一度乱数を初期化し直さなければ(BASICではRANDOMIZEだっけ?)何度やり直しても同じ数値になります。
普通はエミュレータでの使用を想定していないため上にも書いたように最初に一度しか乱数を初期化しないのでその初期化が終わった後に強制的に状態をセーブされると、乱数初期化が終了した時点での状態を再現するわけだから発生する乱数は何度やり直しても変わりません。
あ、それからどうがんばってもコンピュータでは完全な乱数は作れません。少なくとも今のところは。
ふじさん
情報コーナーHYPER(第34回)のげしさんへの反論です。こちらこそありがとうございました。>確かにコンピューターの乱数は計算で出ている物ですがそれは(BAS
>ICの話ですが)時間をその乱数の種とすることで本当の乱数にするこ
>とが可能です
>秒の10分の1、あるいは100分の1の単位の数を乱数の種にすれば
>ほぼ完全に(ロボットでもない限り)乱数になるはずです確かに、本当の乱数っぽくできますし、BASIC以外でも用いる手法ではあります。ただ、この議論については私は当てはまらないと思います。なぜなら、時間を乱数の種とするのは、最初の一回で普通は十分であるため、毎回、乱数の種とすることはあまりありません。また、毎回乱数の種として時間を採用すると、乱数を続けて発生した場合、同じ乱数が発生してしまう可能性があります。これを防ぐには、SFCのクロック周波数からして、100分の1秒程度では不十分で、1万分の1秒以上の単位が必要となる可能性があります。
>それでは何故同じ歩数で敵にあったのかですが僕は歩くたびにそこの地形
>にあった乱数を出しそれが100以上になったとき敵と出会うといううよ
>うなかんじでやっているのでは無いでしょうかそうすると、例えば草原なら何歩以内に必ず敵に出会い、何歩以下では絶対に遭わない、という計算になってしまいますが・・・
毎回、乱数で0が発生したり、いきなり100が出たりすればそのようなことはないと、反論されるかもしれませんが、それでは、砂漠や、森で、エンカウントが変化するというのは難しくなります。
100が出やすい乱数とか、わけの分からないものがあれば良いですが、それでは乱数ではありません。以上、ご静聴ありがとうございました。(おい)
グラフさん
なるほろ、うちのせんせーが扇風機では温度は下がらないって本当だったんですね。(←ロクに教科書も見てない奴(爆))すっげー前フリですね(笑)。さて、話は360度ぐるりとまわりまして(って意味ないぢゃんか)5で一番効率のいい金稼ぎのしかたって何でしょうか?
やっぱりゴールデンゴーレム狙いですか?
それともカジノでひとやま儲けて景品を売っぱらうのでしょうか?(爆)
高橋あずささん
おもちゃやさんで売ってますよ(BUTしかーーし、最近はポケモンのバトルえんぴつが人気なので、あまり売ってません。)えー。くれないのー。(期待してたんか)
家にも いっぱいあります。でも弟のなんで、多分あげれません。(なんじゃそら)
デパートにたくさんあるよ。(by弟)
というわけで、この「情報コーナーHYPER」では、皆様からのお便りをお待ちしています。