我用C#实现了德州扑克游戏.
我写了卡,甲板,播放器,表等类...
例如:
Player player1 = new Player("player1");
player1.Card1 = new Card(4, Symbol.Clubs, true);
player1.Card2 = new Card(5, Symbol.Clubs, true);
Card card1 = new Card(4, Symbol.Clubs, true);
Card card2 = new Card(7, Symbol.Hearts, true);
Card card3 = new Card(2, Symbol.Spades, true);
Card card4 = new Card(4, Symbol.Diamonds, true);
Card card5 = new Card(4, Symbol.Clubs, true);
Card[] tableCards = {card1, card2, card3, card4, card5};
Run Code Online (Sandbox Code Playgroud)
我还为评估卡阵列编写了一些方法,如IsFlush,IsStraight,IsPair等.
我的问题是,如果我有7张牌(2手牌,5张桌子牌),我应该如何选择最好的手牌组合.
在这个代码示例中,它是{4,4,4,4,7}.
不要针对 5 张牌的手牌编写代码。相反,一般性地写它。所以,
ContainsStraightFlush
ContainsFourOfAKind
ContainsFullHouse
Run Code Online (Sandbox Code Playgroud)
等会吃掉一组牌,如果这些牌的某些子集是同花顺、四张牌等,则分别返回 true。
然后从排名最高的手牌向后跑到排名最低的手牌。如果这些方法之一返回 true,那么您可以轻松挑选出满足该条件的最佳牌。例如关于
2h Kh Qh Jh Th 9h 6c
Run Code Online (Sandbox Code Playgroud)
ContainsStraightFlush
会返回true,然后你就可以选择9h Th Jh Qh Kh
最好的牌。
归档时间: |
|
查看次数: |
5506 次 |
最近记录: |