# 姓名:东电小z
# 开发时间:2021/4/25 15:33
class Card:
# 类属性
shuzi = ['A', '2', '3', '4', '5', '6', '7,', '8', '9', '10', 'J', 'Q', 'K']
biaozhi = ['♠', '♥', '♦', '♣']
# 初始方法
def __init__(self):
self.cards = []
# 生成牌
def shengcheng(self):
for shu in Card.shuzi:
for biao in Card.biaozhi:
self.cards.append((biao, shu)) # 列表里面是元组
self.xipai()
# 洗牌
def xipai(self):
import random
random.shuffle(self.cards)
# 发牌
def fapai(self, players, per_number=13):
for i in range(per_number): # 发十三轮牌
for player in players: # 每一轮发给四个人
topCard = self.cards[0] # 元组
self.cards.remove(topCard)
player.add(topCard)
class Player:
def __init__(self, name):
self.name = name
self.cards = []
def __str__(self):
if self.cards:
s = ''
for card in self.cards:
s += str(card[0]) + str(card[1]) + ' '
else:
s = '无牌'
return s
# 添加牌
def add(self, card): # 收牌是自己的行为
self.cards.append(card)
# 测试
if __name__ == '__main__':
# 四位玩家
players = [Player('张三'), Player('李四'), Player('王五'), Player('小二')]
# player1 = Player('张三')
# player2 = Player('李四')
# player3 = Player('王五')
# player4 = Player('小二')
# players = [player1, player2, player3, player4]
# 生成一副牌
card = Card()
card.shengcheng()
card.xipai()
# print(card.shuzi)
# print(card.biaozhi)
# print(card.cards)
# 给每个玩家发13张牌
card.fapai(players, 13)
# 显示4位玩家的牌
for player in players:
print(player.name, '玩家:', player)
自动发牌器
最新推荐文章于 2025-05-01 17:35:42 发布