-3

我有一个任务,我需要识别一手德州扑克

这是作业: http ://www.scribd.com/doc/142850594/proj1

这是我的代码: http: //pastebin.com/Ts387iDw

我不太明白的是如何让程序从文件中读取,手在里面,或者我应该如何让它分类和识别手。

如果有人告诉我从头开始设计这样的程序,我会做的是为所有 52 张牌分配一个唯一 ID,然后定义一种手牌类型,如皇家同花顺,并使用 if 语句查看是否ID 与定义的手牌类型相匹配。然而,我有一种直觉,这比我的教授在作业中展示的方式效率要低得多(毕竟他是教授)。任何帮助表示赞赏,谢谢!

4

2 回答 2

0

所以,你有两个问题:
1. 从文件中读取手牌
2. 识别手牌的行列

对于您需要的第一个问题:
1. 逐行读取文件
2. 解析字符串。您会注意到,牌在手牌中具有相同的模式:它是一个字母加上 1 或 2 位数字,然后是其他牌。在这种情况下,您可以根据数字和字母之间的切换手动拆分字符串。

对于第二个问题,没有通用的方法。在大多数情况下,您需要手动检查每个可能的排名。

于 2013-05-22T02:20:45.693 回答
0

从文件中读取手牌应该不难,但是识别手牌的方法甚至比您的作业所暗示的要多,而且您教授自己的示例函数是错误的。扑克牌不关心牌的顺序,因此他识别皇家同花顺(带有 R :-)的功能将在 120 次中失败 119 次。您可以通过先对手进行分类来部分解决此问题,但是您需要轮子的特殊情况代码(A2345 直)。此外,识别牌的“类型”只是确定两只手中哪一只获胜的第一步。最后,所有这些仅适用于标准的 5 张牌手,不适用于德州扑克,您需要在 7 张牌中做出最好的 5 张。谷歌“扑克手评估器”,你会发现比你想象的更多的信息。在 Github 上(或我自己的onejoker)。

我怀疑您的教授并不真正了解所涉及的内容,并且很高兴看到像他自己这样半途而废的解决方案,只是为了看到您可以生成类似于实际工作的代码。

于 2013-05-22T08:21:11.353 回答