基本的には、シャッフルされた配列があります。配列のようなカードのデッキです:配列シャッフル後の結果の繰り返しなし
var rank = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]
var suit = ["♠", "♥","♦","♣"]
var deck = [String]()
私は、関数では、私はデッキをシャッフルするために作成した拡張機能を呼び出す
for t in suit {
for r in rank {
deck.append("\(r)\(t)")
}
}
でデッキを作成するために、ループのために持っています。唯一のことは、結果がランダムであるが、私はカードは繰り返したくないんです
deck.shuffle()
(これは裏ランダムアソート52枚のカードを私にもたらします)。たとえば、結果が2♠の場合、印刷されたリストの後ろに2♥、2♦、2♣は必要ありません。
ご協力いただきましてありがとうございます。ありがとう!
繰り返しがなくなるまで、これらの52をシャッフルしてみましたか? '52! = 8.065 x 10^67 'の方法でデッキをシャッフルするチャンスがあるので、シャッフルしなければならない回数はかなり小さい –
はい、何が起こるのかは、UILabelがDeck.Firstが何であるかを印刷し、その後シャッフルします。私の唯一の問題は、シャッフルに続いて印刷された注文が繰り返されることを決して望んでいないことです。 –
あなたは本当にデッキをシャッフルしたくありませんか? –