【发布时间】:2020-04-26 23:37:33
【问题描述】:
我在为我的扑克游戏编写手牌分析器时遇到了一些麻烦。 截至目前,我可以分析每个玩家的手牌并获得所需的结果(TwoPair,OnePair,HighCard)
但我现在想做的是让拥有最高排名牌的玩家赢得比赛
For Example: Player 1 = Two Pair,
Player 2 = HighCard,
Player 3 = One Pair
Player 4 = Two Pair
选择匹配度最高的玩家(玩家 1 和玩家 4)
播放器类
public class Player : IPlayer
{
public Player(string name)
{
Name = name;
}
public string Name { get; private set; }
// Hold max 2 cards
public Card[] Hand { get; set; }
public HandResult HandResult { get ; set ; }
}
手结果类
public class HandResult
{
public HandResult(IEnumerable<Card> cards, HandRules handRules)
{
result = handRules;
Cards = cards;
}
public PokerGame.Domain.Rules.HandRules result { get; set; }
public IEnumerable<Card> Cards { get; set; }// The cards the provide the result (sortof backlog)
}
手规则枚举
public enum HandRules
{
RoyalFlush, StraightFlush, FourOfAKind, FullHouse, Flush, Straight, ThreeOfAKind, TwoPair, OnePair, HighCard
}
【问题讨论】:
-
您的问题是什么?你有没有尝试过任何事情来实现你的既定目标?
-
你好培根。我有游戏的完整代码我的问题是如何从玩家对象列表中获得手牌最高的玩家
标签: c# arrays linq sorting poker