用Map集合模擬鬥地主洗牌發牌

2021-08-26 02:34:20 字數 2105 閱讀 9993

具體規則:

組裝54張撲克牌將

54張牌順序打亂

三個玩家參與遊戲,三人交替摸牌,每人17張牌,最後三張留作底牌。

檢視三人各自手中的牌(按照牌的大小排序)、底牌

規則:手中撲克牌從大到小的擺放順序:大王,小王,2,a,k,q,j,10,9,8,7,6,5,4,3

準備牌:大王 小王 2 a k q j 10........

完成數字與紙牌的對映關係:

使用雙列map(hashmap)集合,完成乙個數字與字串紙牌的對應關係(相當於乙個字典)。

2.洗牌:

通過數字完成洗牌發牌

3.發牌:

將每個人以及底牌設計為arraylist,將最後3張牌直接存放於底牌,剩餘牌通過對3取模依次發牌。

存放的過程中要求數字大小與鬥地主規則的大小對應。

將代表不同紙牌的數字分配給不同的玩家與底牌。

4.看牌:

通過map集合找到對應字元展示。

通過查詢紙牌與數字的對應關係,由數字轉成紙牌字串再進行展示。

public class poker }/*

* 2 將54張牌順序打亂

*/// 取出編號 集合

setnumberset = pokermap.keyset();

// 因為要將編號打亂順序 所以 應該先進行轉換到 list集合中

arraylistnumberlist = new arraylist();

numberlist.addall(numberset);

​ // 打亂順序

collections.shuffle(numberlist);

​ // 3 完成三個玩家交替摸牌,每人17張牌,最後三張留作底牌

// 3.1 發牌的編號

// 建立三個玩家編號集合 和乙個 底牌編號集合

arraylistnop1 = new arraylist();

arraylistnop2 = new arraylist();

arraylistnop3 = new arraylist();

arraylistdipaino = new arraylist();

​ // 3.2發牌的編號

for (int i = 0; i < numberlist.size(); i++) else else if (i % 3 == 1) else }}

​ // 4 檢視三人各自手中的牌(按照牌的大小排序)、底牌

// 4.1 對手中編號進行排序

collections.sort(nop1);

collections.sort(nop2);

collections.sort(nop3);

collections.sort(dipaino);

​ // 4.2 進行牌面的轉換

// 建立三個玩家牌面集合 以及底牌牌面集合

arraylistplayer1 = new arraylist();

arraylistplayer2 = new arraylist();

arraylistplayer3 = new arraylist();

arraylistdipai = new arraylist();

​ // 4.3轉換

for (integer i : nop1)

​ for (integer i : nop2)

for (integer i : nop3)

for (integer i : dipaino)

​ 檢視

system.out.println("紅細胞:"+player1);

system.out.println("白細胞:"+player2);

system.out.println("血小板:"+player3);

system.out.println("底牌:"+dipai);}}

模擬鬥地主洗牌和發牌

分析 a 建立乙個牌盒 b 裝牌 c 洗牌 d 發牌 e 看牌 public class test system.out.println public static void main string args 定義乙個點陣列 string numbers for string c colors ar...

day18 Map集合 模擬鬥地主洗牌和發牌

18.01 集合框架 map集合概述和特點 b map介面和collection介面的不同 18.02 集合框架 map集合的功能概述 b 刪除功能 c 判斷功能 d 獲取功能 e 長度功能 18.03 集合框架 map集合的遍歷之鍵找值 b 案例演示 18.04 集合框架 map集合的遍歷之鍵值對...

集合訓練之鬥地主洗牌發牌實現

2.1 任務功能流程 2.2 造牌功能分析 容器準備 建立集合容器,用於存放撲克牌 hashmappokermap 撲克牌存放容器,key保證唯一性,hashmap便於索引 arraylistpokerlist 撲克牌索引標誌,用於實現隨機取牌 發牌 造牌元素準備 建立陣列,儲存撲克牌組合元素,用於...