Java學習筆記(斗地主發(fā)牌)

①項目分析

②代碼實現:

1、定義玩家類 Player

2、定義牌類 Joker

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

3、定義主類 DouDiZhu

1、定義產生54張牌集合的方法AllJokers(有返回值),按照strNum的大小降序排列。大王小王兩張先定義,再添加到牌集合AllJokers中,"2","A","K","Q","J","10","9","8","7","6","5","4","3"的四色牌總共52張,用嵌套循環(huán)添加到牌集合AllJokers里,外層控制點數大小,內層控制花色。最后再return 整個牌集合。

2、定義分牌方法playJokers(有返回值),因為分到玩家手中的牌,需要從大到小排序,所以分出來的牌要用Set集合中的TreeSet排序,故playJokers這個方法需要用Set<>修飾,傳參:哪個集合、從哪里開始截取,到哪里結束。

3、調用產生54張牌集合的方法AllJokers方法,產生54張牌。(這時54張牌是按順序排列的)

4、調用Collections類中的shuffle方法打亂54張牌的順序

5、定義3個玩家,給3個玩家分牌

分牌:調用分牌方法playJokers方法,第一個玩家分第1到17張牌,第二個玩家分第18到34張牌,第三個玩家分第35到51張牌。最后52-54的3張牌為底牌。

6、打印3個玩家的姓名+分到的牌,打印底牌

③最后效果為

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容