意味のわからない人は華麗にスルーしる。
線形合同法、或いは何かの下位互換だとしても酷い。
メルセンヌツイスター級を使えとは言わんが、
つーか、ツイスターはフリーなんだから使っても良いんだけど
(んーここ曖昧。商用はフリーとはいかんかったけか)
てかさプロがrand()と同じクラスなんか使うなよ。
それに、なぜ、
各入力待機の空き時間に乱数回さないのか。
待機ループで無意味に一回乱数呼ぶだけで
かなり疑似乱数から抜けるのに。
いや、各ターンの開始時に時間依存の回数分だけ
空回しするだけでもいいのに。
頭悪すぎる。。。
正直なところ、オレのがナンボかマシなん組めるかもよ!
解説。
低クラスの疑似乱数(たとえばC言語のrand())は
必ず、発生した乱数の最下位ビットが0101010101と交互になる。
(つまり、偶数と奇数が交互に発生する)
当然、こんなもんは初歩の初歩なんだが、
それを知らずに二人用スゴロクのサイコロを造ると、
発生した乱数の6の剰余を取って1を加えるのが
サイコロの目の出し方の基本。
偶数の数字から偶数の剰余を取ったら必ず偶数になり
奇数の数字から偶数の剰余を取ったら必ず奇数となる。
つまり、二人用スゴロクだと
A:偶数偶数偶数偶数偶数偶数偶数偶数偶数偶数偶数
B:奇数奇数奇数奇数奇数奇数奇数奇数奇数奇数奇数
と片方は1.3.5.のみ、もう片方は2.4.6.のみとなり
当然偶数しか出ない方が圧倒的有利となる。
これを避けるには、メルセンヌツイスターなどの
高級な疑似乱数発生関数を用いるわけだが、
自分で素組みすると、当然のことながら敷居は高い。
もちろんプロならプロらしい仕事をしる!と言いたいが、
まあ無理でもいろんな方法がある。
サイコロを振る前に、
乱数を時間依存(現在時刻の秒の値など)の回数だけ
発生させるだけで簡単にランダムに近づける。
それすらも怠ったということは無知きわまりない。
というわけだ。プロの仕事とは思えない。
以下、面白かったコピペ
とりあえず、ダイス上限が奇数のマップのみプレイしる!
線形合同法、或いは何かの下位互換だとしても酷い。
メルセンヌツイスター級を使えとは言わんが、
つーか、ツイスターはフリーなんだから使っても良いんだけど
(んーここ曖昧。商用はフリーとはいかんかったけか)
てかさプロがrand()と同じクラスなんか使うなよ。
それに、なぜ、
各入力待機の空き時間に乱数回さないのか。
待機ループで無意味に一回乱数呼ぶだけで
かなり疑似乱数から抜けるのに。
いや、各ターンの開始時に時間依存の回数分だけ
空回しするだけでもいいのに。
頭悪すぎる。。。
正直なところ、オレのがナンボかマシなん組めるかもよ!
解説。
低クラスの疑似乱数(たとえばC言語のrand())は
必ず、発生した乱数の最下位ビットが0101010101と交互になる。
(つまり、偶数と奇数が交互に発生する)
当然、こんなもんは初歩の初歩なんだが、
それを知らずに二人用スゴロクのサイコロを造ると、
発生した乱数の6の剰余を取って1を加えるのが
サイコロの目の出し方の基本。
偶数の数字から偶数の剰余を取ったら必ず偶数になり
奇数の数字から偶数の剰余を取ったら必ず奇数となる。
つまり、二人用スゴロクだと
A:偶数偶数偶数偶数偶数偶数偶数偶数偶数偶数偶数
B:奇数奇数奇数奇数奇数奇数奇数奇数奇数奇数奇数
と片方は1.3.5.のみ、もう片方は2.4.6.のみとなり
当然偶数しか出ない方が圧倒的有利となる。
これを避けるには、メルセンヌツイスターなどの
高級な疑似乱数発生関数を用いるわけだが、
自分で素組みすると、当然のことながら敷居は高い。
もちろんプロならプロらしい仕事をしる!と言いたいが、
まあ無理でもいろんな方法がある。
サイコロを振る前に、
乱数を時間依存(現在時刻の秒の値など)の回数だけ
発生させるだけで簡単にランダムに近づける。
それすらも怠ったということは無知きわまりない。
というわけだ。プロの仕事とは思えない。
以下、面白かったコピペ
リプレイに早送りがある。そう思っていた時期が私にもありました。
↓
戦闘時のもっさりに俺の怒りは有頂天になった。
↓
それよりこのカクカクを見てくれ。こいつをどう思う?
↓
ヤバイ、オン対戦ヤバイ。何がヤバイって対戦出来ない。
↓
スクイーズでフリーズした。何を言ってるかわからねえと思うが(ry
↓
どう見てもずっと私のターンです。本当にありがとうございました。
↓
見える!私にもダイスが読めるぞ!←今ここ。
とりあえず、ダイス上限が奇数のマップのみプレイしる!
コメント