①項目分析

②代碼實現(xiàn):
1、定義玩家類 Player

2、定義牌類 Joker
注:由于父類Object中的toString方法打印出來的效果過于臃腫,所以我重寫了toString方法

3、定義主類 DouDiZhu

1、定義產(chǎn)生54張牌集合的方法AllJokers(有返回值),按照strNum的大小降序排列。大王小王兩張先定義,再添加到牌集合AllJokers中,"2","A","K","Q","J","10","9","8","7","6","5","4","3"的四色牌總共52張,用嵌套循環(huán)添加到牌集合AllJokers里,外層控制點數(shù)大小,內(nèi)層控制花色。最后再return 整個牌集合。
2、定義分牌方法playJokers(有返回值),因為分到玩家手中的牌,需要從大到小排序,所以分出來的牌要用Set集合中的TreeSet排序,故playJokers這個方法需要用Set<>修飾,傳參:哪個集合、從哪里開始截取,到哪里結(jié)束。
3、調(diào)用產(chǎn)生54張牌集合的方法AllJokers方法,產(chǎn)生54張牌。(這時54張牌是按順序排列的)
4、調(diào)用Collections類中的shuffle方法打亂54張牌的順序
5、定義3個玩家,給3個玩家分牌
分牌:調(diào)用分牌方法playJokers方法,第一個玩家分第1到17張牌,第二個玩家分第18到34張牌,第三個玩家分第35到51張牌。最后52-54的3張牌為底牌。
6、打印3個玩家的姓名+分到的牌,打印底牌
③最后效果為
