hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
トランプゲームなどのシャッフル処理を考えます。--kz3 2005-06-05 14:45:57 (日)
プラグインでdimmix?というモジュールを定義しました。
dimmix?はあらかじめ対象となる配列に値を設定し、一回のモジュールの呼び出しで配列内をシャッフルするというものでした。
例えばトランプカード(ジョーカー2枚抜き)52枚の場合は
1 2 3 4 |
|
としてカードに通し番号を振り、
1 |
|
とすることで、配列内がシャッフルされます。
このtrampを実際に引くときのサンプル*1を以下に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
といった具合にtrampの先頭(もしくは末尾からでもいいけど・・・)から引いていきます。
この場合は一度カードを引いたら再びシャッフルしてまた先頭から引くようになっています。
trampを参照するカウンタはrepeatのcntでしたが、通常の変数として用意すれば、一度引いた続きから引きなおすこともできます。
今回のポイントはカードを引く前にトランプをシャッフルするという方法でした。