我正在用C#开发扑克游戏.目前我正在尝试使用RegEx获得球员手牌得分.我搜索字符串(由卡片套装和编号组成)并寻找符合RegEx的套装或数字.如果我得到2场比赛,则该球员有一对,3场比赛他有3场比赛.
我现在有3个班级,一个卡级(有数字和套装),一个甲板班(包含52张牌)和一个从洗牌的甲板上获得五张牌的Hand类.
Deck类有一个shuffleDeck(); Hand类具有计算得分的功能(在我使用RegEx的这些功能中).
我通过添加手牌所具有的5个套装和数字来生成我使用RegEx的字符串.
这是一个好主意还是我应该采取另一种方式,如果是这样,怎么做?
谢谢您的帮助
PS.我是一个没有经验的程序员,想要使用新学到的工具
我认为正则表达式不是解决这个问题的合适方法.您可能应该使用比字符串更复杂的手形表示.
你没有提供太多的细节,但从我读过的内容来看,我认为你并没有把OOP推得太远......
我会有一个具有Rank和Suit类实例的Card类.然后我会有一个处理改组/交易的甲板课......
然后我会有一个Hand类,它将包含你的n卡对象的扑克牌......
通过这种方式,您可以构建规则来评估每个手对象,从而在未来更灵活,更具可扩展性...如果您想制作另一个纸牌游戏/添加对另一种扑克变种的支持...
使用正则表达式来完成所有这些似乎是一个非常糟糕的选择.