Python3 模擬鬥地主發牌

2021-09-02 17:39:07 字數 2089 閱讀 3157

分析:

1.撲克牌作為物件呈現

2.建立未發牌的牌堆的列表

3.建立三個玩家牌堆的列表

4.建立底牌的元組

5.最原始的牌堆初始化,將54張牌加入到牌堆

6.建立洗牌操作

7.建立發牌操作

import random

class

poke

: poke =

# 撲克牌牌堆

p1 =

# 玩家一牌堆

p2 =

# 玩家二牌堆

p3 =

# 玩家三牌堆

last =

none

# 底牌牌堆

def__init__

(self,f,num)

:# 初始化牌堆

self.flower = f # 花色

self.num = num # 點數

def__str__

(self)

:return

"%s%s"

%(self.flower,self.num)

# 返回牌值

@classmethod

definit

(cls)

:# 定義牌堆

ph =

("♥"

,"♠"

,"♣"

,"♦"

)# 花色元組

pnum =

("2"

,"3"

,"4"

,"5"

,"6"

,"7"

,"8"

,"9"

,"10"

,"j"

,"q"

,"k"

,"a"

)# 點數元組

king =

# 大小王

for p in ph:

# 迴圈遍歷花色

for _nump in pnum:

# 迴圈遍歷點數

)# 裝牌

"big"],

""))# 裝大王

"small"],

""))# 裝小王

@classmethod

defwash

(cls)

:# 洗牌

random.shuffle(cls.poke)

@classmethod

defsend

(cls)

:# 發牌

for _ in

range(0

,17):

# 三個人每人發17張牌 迴圈0)

)# 玩家一發牌0)

)0))

cls.last=

tuple

(cls.poke)

# 最後三張牌做底牌 不能修改做元組

@classmethod

defshow

(cls)

:# 展示牌

print

("gamer1:"

)for pokes in cls.p1:

print

(pokes,end =

" ")

print()

print

("gamer2:"

)for pokes in cls.p2:

print

(pokes, end=

" ")

print()

print

("gamer3:"

)for pokes in cls.p3:

print

(pokes, end=

" ")

print()

print

("ending:"

)for pokes in cls.last:

print

(pokes, end=

" ")

print()

poke.init(

)poke.wash(

)poke.send(

)# 必須先發牌後才能展示牌

poke.show(

)

Python3模擬鬥地主發牌

模擬鬥地主發牌,牌共54張,花色 黑桃 u2660 梅花 u2663 方塊 u2665 紅桃 u2666 種類為 a2 10jqk,大小王 x,x 三個人,每個人17張牌,牌底留三張 輸入回車,列印第乙個問的17張牌 輸入回車,列印第二個問的17張牌 輸入回車,列印第三個問的17張牌 import ...

鬥地主發牌

鬥地主的發牌 a 鬥地主的發牌 實現模擬鬥地主的功能 1.組合牌 2.洗牌 3.發牌 4.看牌 public class doudizhu 定義4個花色陣列 string colors 定義整數變數,作為鍵出現 int index 2 遍歷陣列,花色 點數的組合,儲存到map集合 for strin...

模擬鬥地主洗牌和發牌

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