- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FlashソフトSuzukaで、トランプからカードを引く時、重複の無いようにしたい)
FlashソフトSuzukaで、トランプからカードを引く時、重複の無いようにしたい
このQ&Aのポイント
- FlashソフトSuzukaを使用してトランプゲームを作りたい。カードを引く際に重複しないようにする方法はどうすれば良いか教えてください。
- カードをランダムに配るためのアクションスクリプトが記述されているが、2枚目以降のカードが重複しないようにする方法が知りたい。
- Flashの勉強を始めた者です。Suzukaを使ってトランプのゲームを作りたいのですが、カードの重複を避ける方法がわかりません。助けてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「マスクでトランジション」 マスクを使った画面転換の例と,重複しない乱数の列挙。 http://suzupara.iinaa.net/kiso121.html ココ↑にもかいてありますが 中身をシャッフルした配列を作成しておいて 配列要素を先頭から順に引いていくと重複は起こりませんよ。 21,22,23,24,…,71,72 からランダム要素を引くのではなくて あらかじめランダムシャッフルされた配列 55,30,26,65,…,22,45 の先頭要素から順に引くということですね。 --- --- --- あと配列 Arrayクラス にはsplice メソッドがあります。 Flashドキュメンテーション splice (Array.splice メソッド) http://livedocs.adobe.com/flash/8_jp/main/00001917.html (使用できるバージョン : ActionScript 1.0、Flash Player 5) これで 21,22,23,24,…,71,72 からランダムに引いては、その要素を消す ということをしても重複は起こりません。 「だるま落とし」の積み木をランダムに叩いてはじき飛ばすような方法です。 ただこれを使った場合配列の要素がだんだん減って行くわけですから、 つまり元の配列自体が壊れてしまうので、 再使用したい場合は配列を再作成しなおすような必要があります。 また「引いた履歴」が配列には残りませんから もし履歴を残したい場合は 引いた要素と引いた順などを別に記録しておく必要が出てきます。
お礼
お礼のレスが遅れてしまい申し訳ありません。 事情でFLASHの勉強ができずにいたのですが、最近再開いたしました。 回答で頂いたページのASを使ってみたところ、重複しない乱数の生成とArrayからの数値呼び出しが上手く出来ました。 ありがとうございました。 今度またご指導いただけましたら幸いです<(__)>