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