Java學(xué)習(xí)筆記(斗地主發(fā)牌)

①項目分析

②代碼實現(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個玩家的姓名+分到的牌,打印底牌

③最后效果為

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容