三人鬥地主(for迴圈,Map集合,list集合)

2021-10-08 04:19:29 字數 3357 閱讀 4018

public

class

game2

; string [

] numbers=

;//記錄編號

int index=0;

//將牌放到上面的集合中 共迴圈 4*13=52次

for(string num:numbers)

} system.out.

println

("index="

+index)

;//剩餘2個編號就是大王小王

list.

add(52)

; list.

add(53)

; map.

put(52,

"小王");

map.

put(53,

"大王");

//發牌之前 需要將牌打亂 ,也就是隨機

collections.

shuffle

(list)

;//預設排序

//發牌開始 ( 3人 , 還要 留下3張底牌) 需要定義3個人 和 1個底牌 集合接收牌

list

p1 =

newarraylist

<

>()

; list

p2 =

newarraylist

<

>()

; list

p3 =

newarraylist

<

>()

; list

bottom =

newarraylist

<

>()

;//具體傳送 牌

for(

int i =

0; i < list.

size()

; i++

)else

if(i%3==

0)else

if(i%3==

1)else

}//看一下發到手裡的牌資訊

collections.

sort

(p1)

; collections.

sort

(p2)

; collections.

sort

(p3)

; collections.

sort

(bottom)

;show

("朱凱歌"

,p1,map)

;show

("王昭雯"

,p2,map)

;show

("朱凱歌"

,p3,map)

;show

("底牌"

,bottom,map);}

private

static

void

show

(string name, list

list, map

map)

system.out.

println()

;}}

index=52

朱凱歌: ♡a ♦a ♡2 ♦2 ♦4 ♡5 ♦5 ♠6 ♡6 ♣7 ♦8 ♦9 ♡10 ♦j ♡q ♠k ♡k

王昭雯: ♣a ♠2 ♣2 ♠3 ♦3 ♡4 ♣4 ♠7 ♡7 ♠8 ♣8 ♣9 ♠10 ♠j ♡j ♣j ♠q

朱凱歌: ♠a ♡3 ♣3 ♠4 ♠5 ♣5 ♦6 ♦7 ♠9 ♡9 ♦10 ♣q ♦q ♣k ♦k 小王 大王

底牌: ♣6 ♡8 ♣10

public

static

void

main

(string[

] args)

nums.

add(

"j")

; nums.

add(

"q")

; nums.

add(

"k")

; nums.

add(

"a")

;//花色和數字進行組合,並存到牌裡

for(string col:colors)

}//新增大王小王

pai.

add(

"大王");

pai.

add(

"小王");

//洗牌

collections.

shuffle

(pai)

;// 建立三個玩家以及乙個底牌集合進行儲存

list

play1 =

newarraylist

(); list

play2 =

newarraylist

(); list

play3 =

newarraylist

(); list

dipai =

newarraylist

();for

(int i =

0; i < pai.

size()

; i++

)else

else

if(i %3==

1)else}}

// 4. 檢視牌

system.out.

println

("play1"

+play1)

; system.out.

println

("play2"

+play2)

; system.out.

println

("play3"

+play3)

; system.out.

println

("dipai"

+dipai)

;}

執行結果

play1[♦2 , ♥q, 小王, ♣2 , ♤k, ♦j, ♣q, ♤3 , ♦a, ♥j, ♣8 , ♤2 , ♦9 , ♥9 , ♣a, ♥a, ♦6 ]

play2[♤4 , ♤8 , ♦4 , ♤7 , ♣j, ♦k, ♦10 , ♤j, ♦q, ♥k, 大王, ♥7 , ♣9 , ♥3 , ♥6 , ♣5 , ♦5 ]

play3[♤9 , ♥2 , ♦7 , ♣3 , ♣6 , ♦8 , ♤10 , ♤6 , ♣10 , ♤5 , ♥8 , ♤a, ♥10 , ♥4 , ♣7 , ♤q, ♥5 ]

dipai[♣4 , ♦3 , ♣k]

集合三人鬥地主的思路

三人鬥地主 集合完成 編寫乙個自動發牌程式,模擬三人鬥地主的摸牌場景。首先要給出提示,誰首先開始摸牌,並且摸牌要和現實摸牌一樣,三人迴圈摸牌,最後還要剩餘三張底牌,同時給出地主牌,摸到地主牌的玩家擁有三張底牌。三張底牌三人都可以看到。當三張底牌派發給地主後提示玩家摸牌結束 實現思路 1 首先將一副牌...

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

具體規則 組裝54張撲克牌將 54張牌順序打亂 三個玩家參與遊戲,三人交替摸牌,每人17張牌,最後三張留作底牌。檢視三人各自手中的牌 按照牌的大小排序 底牌 規則 手中撲克牌從大到小的擺放順序 大王,小王,2,a,k,q,j,10,9,8,7,6,5,4,3 準備牌 大王 小王 2 a k q j ...

Java小遊戲之鬥地主遊戲例項Map集合

1 map物件是乙個雙列的容器 2 兩列分別對應key和value,二者一一對應,是對映關係 3 map中的資料以鍵值對的形式儲存 4 鍵值是唯一的,不能重複的 hashset 底層是hashmap hashset 是依賴hashmap 的 hashset 為什麼要在底層實現hashmap 因為二者...