これまでのところ、私はこのコードを持っています
public class Card
{
public int suitID;
public int cardValue;
}
public class DeckManager
{
private List<List<Card>> FindCardsPerSuit(List<Card> cards)
{
var _cardsCombination = cards
.GroupBy(x => x.cardValue)
.Where(g => g.Count() > 2)
.Select(c => c.ToList())
.ToList();
return _cardsCombination;
}
}
私はラミー カード ゲームに取り組んでいます。私がやろうとしているのは、プレイヤーがプレイしたいカードの組み合わせが有効かどうかを調べることです。
プレーヤーが手札からいくつかのカードを選択するとき、同じ値を持つカードが一意のスーツを持っているかどうかを確認する必要があります。そうでない場合は、新しいリストに追加します。
例: プレイヤーは 8 枚のカードをすべて同じ値で異なるスーツを持っています。最小組み合わせは 4 であるため、2 つの組み合わせを実行できます。2 つのデッキでプレイするため、スーツごとに 2 枚のカードがあります。
組み合わせのリストのリストを作成するかどうかを確認するにはどうすればよいですか?
現時点では、_cardsCombination クエリは選択されたすべてのカードを取得し、同じ値を持つすべてのカードで小さなグループを作成します。どうすれば同じことを行い、スーツが重複している各カードのサブグループを作成できますか?
ありがとうございました。