# Task 4 ## 项目概述 从Task1标准扑克扩展到短牌扑克 ## 支持的手牌类型 1. **皇家同花顺** (Royal Flush) - A♠K♠Q♠J♠T♠ 2. **同花顺** (Straight Flush) - 连续的五张同花色牌 3. **四条** (Four of a Kind) - 四张相同点数的牌 4. **同花** (Flush) - 五张同花色的牌 5. **满堂红** (Full House) - 三条加一对 6. **顺子** (Straight) - 五张连续点数的牌(包括A-2-3-4-5轮子) 7. **三条** (Three of a Kind) - 三张相同点数的牌 8. **两对** (Two Pair) - 两个对子 9. **一对** (One Pair) - 一个对子 10. **高牌** (High Card) - 没有组合的单张高牌 ### 环境要求 **牌组特性**: - 移除2、3、4、5,保留6-A(36张牌) - 支持A-6-7-8-9特殊顺子 **手牌排名调整**: ``` 短牌vs标准扑克的关键差异: - Flush (同花) > Full House (满堂红) - 其他排名保持一致 ``` **可能的顺子组合**: 1. A-6-7-8-9 2. 6-7-8-9-T 3. 7-8-9-T-J 4. 8-9-T-J-Q 5. 9-T-J-Q-K 6. T-J-Q-K-A ### 测试 **单元测试**: - Card类:创建、解析、验证、比较 - HandEvaluator:各种手牌类型识别 - HandRanking:排名比较和字符串表示 **关键验证用例**: ```bash # 标准扑克 - Royal Flush python main.py "AsKs QsJsTsAdAc" # 输出: Royal Flush # 短牌扑克 - 关键规则验证 python shortdeck_main.py "AsKs QsJs9s" # Flush python shortdeck_main.py "AsAh AcKsKh" # Full House # 短牌扑克 python shortdeck_main.py "As9h 8d7c6s9dKs" ```