> 52の番号を振ったものからランダムに1を引いた(例えば43番を引いたとして)後に
> その分を引いた51枚から次のカード候補を引くような場合、どの様に記述すればその処理が出来るでしょうか?
リアル・トランプと同じことすりゃえぇですよ。
たとえばこんな感じで:
// 0..52 の入ったデッキ
List<int> deck = new List<int>();
for ( int i = 0; i < 53; ++i ) {
deck.Add(i);
}
// 手札(最初は0枚)
List<int> hand = new List<int>();
// デッキから4枚選んで手札に移動
Random rnd = new Random();
for ( int i = 0; i < 4; ++i ) {
// デッキからでたらめに一枚選び
int index = rnd.Next(deck.Count);
// それを手札に追加し
hand.Add(deck[index]);
// デッキから取り除く
deck.RemoveAt(index);
}
|