# ZTE中兴通讯暑假培训 **Repository Path**: yangzeyuan_admin/ztezhongxingtongxun ## Basic Information - **Project Name**: ZTE中兴通讯暑假培训 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZTE中兴通讯暑假培训 #### 介绍 同学们,明天开始为期两周的编程题目实践,必须采用TDD的开发方法。编码过程可以不断重构,重构方法可以采用面向对象设计或者 任何你认为好的方法。准备好了吗?展示你们匠艺精神的时候到了,加油! #### 需求分析 需求背景:德州扑克采用52张扑克。分为四个花色(将红桃,方块,黑桃,梅花简化为A,B,C,D)。每个花色13张牌,数字从2到14(将J, Q,K,A简化为11,12,13,14)。游戏过程玩家随机抽取5张,电脑随机抽取5张,比较大小。比较结束后需输出两幅牌的牌面(如A5,D11), 及胜负结果。 需求1:比较各自五张牌中数字最大的(散牌 High Card)。 Example 1 :“B11, A2, A9, D10, A8” < “D4, A8, C5, C6, B12”。 Example 2 :“D3, D4, D5, D6, D7” <“D5, A6, C7, C8, B9” 。 需求2:若散牌中数字最大的牌相等,则比较第二数字大牌。 Example 1 :“B11, A2, A9, D10, A8”>“D4, A8, C10, C6, B11”。 需求3:若有两张数字相同牌(对子One Pair),对子大于散牌。 Example 1 :“B11, A2, A9, D10, A8”< “D4, A4, C10, C6, B11”。 需求4:若均有对子,则对子之间比较数字大小;若对子数字相同,将其他牌按散牌比较。 Example 1 :“B11, A9, D9, D5, A8”<“D4, B10, C10, C6, B12”。 Example 2 :“B11, A9, D9, D5, A8”<“D10, A6, C9, B12, B9”。 需求5:若五张牌花色相同(同花),则同花大于对子,若都是同花,则依次按对子和散牌比较。 Example 1 :“B11, A2, A9, D11, A8”> “D4, D8, D10, D6, D12”。 Example 2 :“D3, D4, D5, D7, D11” < “B3, B6, B7, B8, B13”。 #### 拓展需求 同学们还是做的挺快的,后面的需求是所有牌型的比较规则,做完的同学可以接着做, 从大到小依次是:同花大顺(Royal Flush):最高为Ace(一点)。 同花顺(Straight Flush):同一花色,顺序的牌。 四条(Four of a Kind):有四张同一点数的牌。 满堂红(Fullhouse):三张同一点数的牌,加一对其他点数的牌。 同花(Flush,简称“花”:五张同一花色的牌。 顺子(Straight,亦称“蛇”):五张顺连的牌。 三条(Three of a kind,亦称“三张”):有三张同一点数的牌。 两对(Two Pairs):两张相同点数的牌,加另外两张相同点数的牌。 一对(One Pair):两张相同点数的牌。 散牌(high card):不符合上面任何一种牌型的牌型,由单牌且不连续不同花的组成,以点数决定大小。 #### 使用说明 1. 编码除了功能实现以外,还需要考虑很多非功能的因素,比如可读性,可扩展性,容错性等,大家可以参考《重构-改善既有代码的设计》这本书,对代码进行重构和打磨 #### 参与贡献 1.培训中Linux命令行解析器java代码实现刘煌工程师 https://github.com/BearBabyLiu/Kata/tree/master/argsjava/src #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)