トピック
つばさ☆ nsm2116

乱数ってどうやって生成してるの?

またまたタイトル文に本文を取られてしまった…… ということです。 RND関数はどうやって乱数を生成してるいるのでしょうか?
5そうだね
プレイ済み
返信[1]
親投稿
つばさ☆ nsm2116
なるほど。 そうだったのか。 ありがとうございました!!
0そうだね
プレイ済み
返信[2]
親投稿
うえこうs»事前に決まったデータがあるなら、ランダムじゃなくないですか?
1そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
計算で求めている。 計算方法はいろいろある。 ググれ
2そうだね
プレイ済み
返信[4]
親投稿
あきと SideBurnsM
いやそれは嘘でしょ。信じちゃダメ。 線形合同法やメルセンヌ・ツイスター法、XORSHIFT法というようなアルゴリズムで作られることが多いようです。
2そうだね
プレイ済み
返信[5]
親投稿
あきと SideBurnsM
うえこうさんが書いた「指定の数字の乱数テーブルがある」って所ね。
3そうだね
プレイ済み
返信[6]
親投稿
もうプロの領域に突入したようだ。 私にはついていけないので、しばらくながめることにするかー。(後でぐーぐろ。)
4そうだね
プレイ済み
返信[7]
親投稿
ΖΕΧ ZEX256
# と % 間違えたので直した
1そうだね
プレイ済み
返信[8]
親投稿
ΖΕΧ ZEX256
ググるなら「乱数生成アルゴリズム」で
3そうだね
プレイ済み
返信[9]
親投稿
だにえる haru2016nen
RND(2)を 10000回やって 合計を10000/2で割るプログラム! つまり1と0が同じ数なら0.5になる。 ランダムのプログラムって片寄りがあるって聞いたことがあるんだけどプチコンはどうなんだろう
2そうだね
プレイ済み
返信[10]
親投稿
☆Tatsukin★ tatu_kin1192
だにえるs»RND(10)でやってみましたが、0.1前後を行き来していました。なので、大体0.1と言うことでいいと思います。
2そうだね
プレイ済み
返信[11]
親投稿
れい rei-nntnd
プチコンのRNDは線形合同法ではなかった。 XORSHIFTでもない。 それ以上はわからなかった。
4そうだね
プレイ済み
返信[12]
親投稿
話し遡るけど、ファミコンとかは乱数テーブルを使用してるよね 確か
4そうだね
プレイ済み
返信[13]
親投稿
つばさ☆ nsm2116
とりあえず1つ1つググってきます。
1そうだね
プレイ済み
返信[14]
親投稿
Oskar oskar_liebig
>アホデレビデオさん (お名前間違えで前コメントは削除しました) ゲームによっていろいろでは? ただ、ファミコンの3DSに比べてはるかに遅くてプログラムの多くがマシン語(アセンブリ言語)で作るのが大変で、乱数テーブルを時刻で拾うとか、線形合同法+シードに時刻とか、単純な方法が多かったと思われます。 で、この「時刻」というのが曲者で、プチコン3号で言えばMAINCNT。 ファミコンの『麻雀』では、タイトル画面の音楽でタイミングを取ってスタートボタンを押すと役満級の配牌を狙える、という裏技があったのですが、おそらくスタート直後にRANDOMINZE(0,MAINCNT)のようなことをして、後は同じ乱数系列を使い続けていた(乱数テーブルなら最初の読取位置をMAINCNTで決めて後は順に読む)のではないかと思われます。
2そうだね
プレイ済み
返信[15]
親投稿
Oskar oskar_liebig
RANDOMIZEでした訂正。連続コメント失礼。 そういえば、乱数の作り方を間違えて「二五が出やすいサイコロ」とか「自分の番は全部偶数」とかでゲームが台無し、という例もありましたね。
2そうだね
プレイ済み
返信[16]
親投稿
☆Tatsukin★ tatu_kin1192
メイドイン俺も一応「単易言語」というプログラム言語です。
2そうだね
プレイ済み
返信[17]
親投稿
Oskar oskar_liebig
あ、素で再度間違えていた。 アホテレビデオさん、改めて失礼しました。
2そうだね
プレイ済み
返信[18]
親投稿
つばさ☆ nsm2116
なるへそ。納得できたのでトピック閉じますすすすす。 ありがとうございました!!
0そうだね
プレイ済み