题目:欢乐斗牛是由多人进行,一个庄家,其他闲家。 每人发5张牌,拿出任意3张如果能够刚刚拼凑出10的倍数来,则算是有牛,剩下的2张牌,加起来对10求个位数,如果是0则为牛牛,其他是几则为牛几。 下注有5 8 10 12 15倍进行选择,由玩家自己选择。 牛7 8 9是需要收取双倍的钱,牛牛是需要收取3倍的钱。(没有实现部分:五小牛-5张牌加起来刚刚等于10,倍数为5;五花牛,5张牌都是JQK组成,10不算,倍数为5;炸弹-4张一样的牌,倍数4。后续会实现的)
#coding utf-8
import random
"""
card代表52张扑克牌,在斗牛里面的值为1-10
"""
card = [{"A":1},{"2":2},{"3":3},{"4":4},{"5":5},{"6":6},{"7":7},{"8":8},{"9":9},
{"10":10},{"J":10},{"Q":10},{"K":10}]*4
bull_level = [100,500,1500]#初级场,中级场,高级场的基础分
print("欢迎来到欢乐斗牛")
random.shuffle(card)
#假设有10个用户
USER = 10
user_list = []
for i in range(USER):
user_list.append(card[0+5*i:5+5*i])
# choice = int(input("请玩家",i,"选择倍数"))
# print(user_list)
def get_valuse(lst):
keys = []
values = []
for x in lst:
for k,v in x.items():
keys.append(k)
values.append(v)
return keys,values
def judge_bull(values):
for i in range(5):
for j in range(5):
if i != j:
for k in range(5):
if j != k and i != k:
if (values[i]+values[j]+values[k]) % 10 ==0:
return i,j,k
def which_bull(t,lst):
keys,values = get_valuse(lst)
s = 0
if t is not None:
for m in range(5):
if m not in t:
s += values[m]
# print("您的牌是",keys,end=" ")
if s%10 ==0:
return 10
else:
return s%10
else:
# print("您的牌是",keys,end=" ")
# print("没牛")
return 0
def get_all_bull_result(user_list):
all_bull_result = []
for x in user_list:
all_bull_result.append(which_bull(judge_bull(get_valuse(x)[1]),x))
return all_bull_result
def print_all_result(choice_list):
all_bull_result = get_all_bull_result(user_list)
banker = all_bull_result[0]
banker_key = get_valuse(user_list[0])[0]
if banker ==10:
base = 3
elif banker>6:
base = 2
else:
base = 1
if banker_key != 0:
print("庄家的牌是",banker_key," 牛",banker)
else:
print("庄家的牌是",banker_key,"没牛")
for i in range(1,len(all_bull_result)):
keys = get_valuse(user_list[i])[0]
if all_bull_result[i] > banker:
print("玩家",i,"的牌是",keys,end=" ")
print("牛",all_bull_result[i],end=" ")
if 6<all_bull_result[i]<10:
print("您赢了庄家",bull_level[0]*choice_list[i-1]*2)
elif all_bull_result[i]==10:
print("您赢了庄家",bull_level[0]*choice_list[i-1]*3)
else:
print("您赢了庄家",bull_level[0]*choice_list[i-1])
elif all_bull_result[i] == 0:
print("玩家",i,"的牌是",keys,end=" ")
print("没牛",end=" ")
print("您输给了庄家",bull_level[0]*choice_list[i-1]*base)
else:
print("玩家",i,"的牌是",keys,end=" ")
print("牛",all_bull_result[i],end=" ")
print("您输给了庄家",bull_level[0]*choice_list[i-1]*base)
# which_milk(judge_milk(get_valuse(a)[1]))
choice_list = [5,5,8,8,10,10,12,12,15]
print_all_result(choice_list)