分析:
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...