1.準備牌: 54張牌,儲存到乙個集合中 特殊牌:大王,小王其他52張牌:
定義乙個陣列/集合,儲存4種花色:黑 紅 梅 方
定義乙個陣列/集合,儲存13個序號:2,a k q… 4 3 迴圈巢狀遍歷兩個陣列/集合組裝52張牌
2.洗牌:使用集合工具類collections的方法
static void shuffle(list<?> list) 使用指定的隨機源對指定列表進行置換。 會隨機的打亂集合中元素的順序
3.發牌
要求: 1人17張牌,剩餘3張作為底牌,一人一張輪流發牌:集合的索引 (0-53)%3
定義4個集合,儲存3個玩家的牌和底牌
素引%3,有三個值(0,1,2)
0%3=0 1%3=1 2%3=2 分別發給三個玩家
索引》=51改底牌發牌
4.看牌:直接列印集合,遍歷儲存玩家和底牌的集合
public
class
doudizhi
; string[
] numbers=
;//先把大小王儲存到puke中
puke.
add(
"大王");
puke.
add(
"小王");
//組裝52張牌
for(string number : numbers)
} 看一下原始牌的效果
collections.
shuffle
(puke)
;//洗牌
//看一下洗牌了的效果
//發牌
list
player1=
newarraylist
<
>()
; list
player2=
newarraylist
<
>()
; list
player3=
newarraylist
<
>()
; list
dipai=
newarraylist
<
>()
;for
(int i =
0; i < puke.
size()
; i++
)else
if(i%3==
0)else
if(i%3==
1)else
if(i%3==
2)}//看牌
system.out.
println
("周潤發:"
+player1)
; system.out.
println
("劉德華:"
+player2)
; system.out.
println
("周星馳:"
+player3)
; system.out.
println
("底牌"
+dipai);}
}
鬥地主案例(雙列集合)
案例介紹 按照鬥地主的規則,完成洗牌發牌的動作。具體規則 組裝54張撲克牌將 54張牌順序打亂 三個玩家參與遊戲,三人交替摸牌,每人17張牌,最後三張留作底牌。檢視三人各自手中的牌 按照牌的大小排序 底牌 規則 手中撲克牌從大到小的擺放順序 大王,小王,2,a,k,q,j,10,9,8,7,6,5,...
用集合實現鬥地主案例
public class dealcards string str2 存放所有牌的集合 arraylist list newarraylist 存放玩家一的手牌 arraylist list1 newarraylist 存放玩家二的手牌 arraylist list2 newarraylist 存放...
案例 鬥地主
案例分析 1 準備 準備54張牌,儲存到一的集合中,特殊牌大小王。其他52張牌 定義乙個陣列 集合,儲存4種花色 定義乙個陣列 集合,儲存13個符號1 2 3 4 5 迴圈遍歷兩個陣列 集合,組裝52張牌,儲存到乙個集合中。5,2,a 再加上大?和小?2 洗牌 使用集合工具collections的方...