C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: ちょこっと変わった乱数ですが
(過去ログ 120 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■70219
/ inTopicNo.1)
ちょこっと変わった乱数ですが
▼
■
□投稿者/ しのび
(1回)-(2014/03/03(Mon) 19:05:41)
分類:[.NET 全般]
乱数について同じ数値、記号が続けて表示されないようにするためには
どのような処理が必要なのか教えを乞いたい。
もちろんそれは乱数とは別物になるのかもしれない。
コードではなく考え方をご提示いただければこのうえない幸せ
引用返信
編集キー/
編集
■70220
/ inTopicNo.2)
Re[1]: ちょこっと変わった乱数ですが
▲
▼
■
□投稿者/ 魔界の仮面弁士
(552回)-(2014/03/03(Mon) 19:25:28)
■
No70219
(しのび さん) に返信
> 乱数について同じ数値、記号が続けて表示されないようにするためには
2,2,2,2,2,2,…のように連続しているのは NG として、
1,2,1,2,1,2,…のような繰り返しのパターンは許容されるのでしょうか。
> コードではなく考え方をご提示いただければ
(案1)『サイコロの振り直し』
前回の乱数値を記憶しておき、同じ値が出たらもう一度抽出しなおす。
※母数が少ない場合は振り直し回数が増えるので、処理速度が低下する。
(案2)『トランプの山札』
あらかじめ、「数値/記号の一覧」をリスト化しておき、
一度選んだ数値/記号は、リスト(山札)から取り除く。
※続けるごとに、だんだんと山札が不足してくるので、
適当なタイミングで、使用済みの値を山札リストに戻す必要がある。
引用返信
編集キー/
編集
■70228
/ inTopicNo.3)
Re[1]: ちょこっと変わった乱数ですが
▲
▼
■
□投稿者/ shu
(499回)-(2014/03/04(Tue) 00:00:26)
■
No70219
(しのび さん) に返信
連続する2つのが同じでなければよい場合、
最終の値を保持します(2個目以降)。
乱数は全体の数より1少ない範囲で発生させます。
最終の値と同じであれば乱数範囲より除いた数値へ変更します。
このようにすれば可能です。
1連の重複しない数値+記号の集まりがある場合、それらを並び替えてから
最初から値を返していけばよいです。魔界の仮面弁士さんが提示している方法と
ほぼ同じになります。完全にランダムに並び替えると数値も記号もばらばらに
なりすぎるのでポーカーのようなゲームに使用する場合、そろわな過ぎて難しくなります。
そのような場合は乱数で発生した枚数でグルーピングしてグループ単位での並び替えとか
すると混ざりすぎないようにすることは出来ます。
どのような数値+記号の集合をどのように扱うかによってやり方が変わってきます。
引用返信
編集キー/
編集
■70254
/ inTopicNo.4)
Re[2]: ちょこっと変わった乱数ですが
▲
▼
■
□投稿者/ しのび
(3回)-(2014/03/04(Tue) 16:12:43)
おおすばらしい、アドバイス、ありがとう感謝です
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-