import random
# 扑克牌
poke_list = [("红桃", 1), ("黑桃", 1), ("黑片", 1), ("红片", 1), ("红桃", 2), ("黑桃", 2), ("黑片", 2), ("红片", 2),
("红桃", 3), ("黑桃", 3), ("黑片", 3), ("红片", 3), ("红桃", 4), ("黑桃", 4), ("黑片", 4), ("红片", 4),
("红桃", 5), ("黑桃", 5), ("黑片", 5), ("红片", 5), ("红桃", 6), ("黑桃", 6), ("黑片", 6), ("红片", 6),
("红桃", 7), ("黑桃", 7), ("黑片", 7), ("红片", 7), ("红桃", 8), ("黑桃", 8), ("黑片", 8), ("红片", 8),
("红桃", 9), ("黑桃", 9), ("黑片", 9), ("红片", 9), ("红桃", 10), ("黑桃", 10), ("黑片", 10), ("红片", 10),
("红桃", 11), ("黑桃", 11), ("黑片", 11), ("红片", 11), ("红桃", 12), ("黑桃", 12), ("黑片", 12),
("红片", 12), ("红桃", 13), ("黑桃", 13), ("黑片", 13), ("红片", 13), ("小王", 14), ("大王", 15)]
# 玩家
user_list = ["zzz", "wqy", "wmy"]
random.shuffle(user_list)
# print(user_list)
# 玩家信息和分数情况
result = {user_list[0]: 0, user_list[1]: 0, user_list[2]: 0}
# print(result)
# flag 游戏是否进行标志; start_flag 是否为第一回合标志; play——flag 玩家是否能够继续游戏标志
flag = 1
start_flag = 1
play_flag = [1, 1, 1]
while flag:
# 判断是否为第一回合自动发牌
if start_flag == 1:
for i in range(3):
index = random.randint(0, len(poke_list) - 1)
print(user_list[i], "玩家获得:", poke_list[index])
if poke_list[index][1] > 10:
result[user_list[i]] = result[user_list[i]] + 0.5
else:
result[user_list[i]] = result[user_list[i]] + poke_list[index][1]
print(result)
poke_list.pop(index)
start_flag = 0
for j in range(3):
# 玩家选择要还是不要,要的话玩家标志为1,不要为0
if play_flag[j] == 1:
print(user_list[j], end="")
choose = input("玩家选择要牌请输入1,不要请输入2:")
# 判断玩家是否输入正确
while choose != "1" and choose != "2":
print(user_list[j], end="")
choose = input("玩家选择要牌请输入1,不要请输入2:")
# if result[user_list[j]] < 11 and choose == "1" and play_flag[j] == 1:
# 判断继续玩下去还是停止
if choose == "1":
index = random.randint(0, len(poke_list) - 1)
print(user_list[j], "玩家获得:", poke_list[index])
# 判断是否收到J,Q,K,小王,大王,以及该如何加分
if poke_list[index][1] > 10:
result[user_list[j]] = result[user_list[j]] + 0.5
else:
result[user_list[j]] = result[user_list[j]] + poke_list[index][1]
# 达到最高分,自动停止
if result[user_list[j]] == 11:
play_flag[j] = 0
# 点数超过11,自动停止
elif result[user_list[j]] > 11:
result[user_list[j]] = 0
play_flag[j] = 0
print("你的牌爆了,", user_list[j])
print(result)
poke_list.pop(index)
elif choose == "2":
play_flag[j] = 0
# 判断游戏是否结束
if play_flag[0] == 0 and play_flag[1] == 0 and play_flag[2] == 0:
flag = 0
print(result)