#-*- coding: utf-8 -*
import random
import time
cardType = ("hei","hong","mei","fang")
cardNum = ("A","2","3","4","5","6","7","8","9","10","J","Q","K")
def generatecards():
cardPairs = [] #两层循环嵌套,生成52张花色牌,存入列表
for type in cardType:
for num in cardNum:
cardPairs.append((type,num))
cardPairs.append(("Joker","Red")) #大王
cardPairs.append(("Joker", "Black")) # 小王
return cardPairs
def dispatchcards(cardPairs):
#洗牌 - 多次调用
random.shuffle(cardPairs)
random.shuffle(cardPairs)
#玩家手牌
player1Cards = []
player2Cards = []
player3Cards = []
coverCardNum = 3 #3张底牌
for index in range(0,len(cardPairs) - coverCardNum):
cardPair = cardPairs[index]
if index % 3 == 0: #player1
player1Cards.append(cardPair)
print
elif index % 3 == 1: #player2
player2Cards.append(cardPair)
else: #player3
player3Cards.append(cardPair)
print ''.join(cardPair),'\t\t', #模拟发牌效果,输出当前发出的牌
time.sleep(0.1) #发牌停顿
print '\n'
print u"玩家1 手牌:",len(player1Cards)
for cardPair in player1Cards:
print ''.join(cardPair)
print
print u'玩家2 手牌:',len(player2Cards)
for cardPair in player2Cards:
print ''.join(cardPair)
print
print u"玩家3 手牌",len(player3Cards)
for cardPair in player3Cards:
print ''.join(cardPair)
print
print u'底牌:'
rest_cards = cardPairs[-3:] #剩余三张牌
for card in rest_cards:
print ''.join(card)
if __name__ == '__main__':
#生成牌
cardPairs = generatecards()
#分配牌
dispatchcards(cardPairs)
python模块列表实现斗地主手牌
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 据说这副斗地主牌难倒了99%的人,农民怎么才能赢?游戏规则: 可以炸,可以三带一,但不能三带二,可以四带二,也可以...
- 有一种情况是这样 你和闺蜜兴致勃勃的一起报名了一家健身房,然后你们每周相约一起去健身,半年过了,闺蜜隐约练出了马甲...