python模塊列表實(shí)現(xiàn)斗地主手牌

#-*- 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 = []  #兩層循環(huán)嵌套,生成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):
    #洗牌 - 多次調(diào)用
    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',  #模擬發(fā)牌效果,輸出當(dāng)前發(fā)出的牌
        time.sleep(0.1)  #發(fā)牌停頓
    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)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容