from random import shuffle
def create_pokers():
"""创建一副牌,并且将牌的顺序打乱"""
colors = ['♥', '♠', '♣', '♦']
nums = [str(x) for x in range(2, 11)] + ['A', 'K', 'Q', 'J']
# pokers = []
# for color in colors:
# for num in nums:
# pokers.append(color+num)
pokers = [color+num for color in colors for num in nums]
pokers.extend(['joker', 'JOKER'])
shuffle(pokers)
return pokers
num_dict = {}
def poker_sort(pokers: list):
# poker_dict = {'3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '10': 10,
# 'J': 11, 'Q': 12, 'K': 13, 'A': 14, '2': 15, 'joker': 16, 'JOKER': 17}
global num_dict
if not num_dict:
# print('创建字典')
num_dict = {str(x): x for x in range(3, 11)}
num_dict.update({'J': 11, 'Q': 12, 'K': 13, 'A': 14, '2': 15, 'oker': 16, 'OKER': 17})
pokers.sort(key=lambda x: num_dict[x[1:]], reverse=True)
def start_game():
# 1. 创建牌 、2. 洗牌
pokers = create_pokers()
# 3. 发牌
# 方法一:
# player1 = pokers[0:51:3]
# player2 = pokers[1:51:3]
# player3 = pokers[2:51:3]
# 方法二:
player1 = []
player2 = []
player3 = []
pokers = iter(pokers)
for _ in range(17):
player1.append(next(pokers))
player2.append(next(pokers))
player3.append(next(pokers))
# 4. 理牌
poker_sort(player1)
poker_sort(player2)
poker_sort(player3)
return tuple(player1), tuple(player2), tuple(player3), tuple(pokers)
if __name__ == '__main__':
x, y, z, t = start_game()
print(x)
print(y)
print(z)
print(t)
斗地主牌玩法
最新推荐文章于 2024-07-12 16:16:27 发布