当前位置: 首页 > 后端技术 > Python

BasicGamesPython源码分析01AceyDucey

时间:2023-03-26 14:39:50 Python

阅读全文:apachecn/python-code-analimportimportrandomcards#定义卡片面值和名片的映射={1:"1",2:"2",3:"3",4:"4",5:“5”,6:“6”,7:“7”,8:“8”,9:“9”,10:“杰克”,11:“皇后”,12:“国王”,13:"Ace",}get_user_bet()#获取玩家输入的赌注#确保为正且小于或等于可用资金defget_user_bet(cash):whileTrue:try:bet=int(input("Whatisyourbet?"))ifbet<0:print("Betmustbemorethanzero")elifbet==0:print("CHICKEN!!\n")elifbet>cash:print("对不起,我的朋友,但你下注太多了")print(f"你只有{cash}可以下注")else:returnbetexceptValueError:print("Pleaseenterapositivenumber")draw_3cards()#不放回地抽三张牌,保证第一张牌小于第二张defdraw_3cards():round_cards=list(cards.keys())random.shuffle(round_cards)card_a,card_b,card_c=round_cards.pop(),round_cards.pop(),round_cards.pop()ifcard_a>card_b:card_a,card_b=card_b,card_areturn(card_a,card_b,card_c)play_game()#游戏的主要逻辑defplay_game():"""Playthegame"""cash=100whilecash>0:print(f"Younowhave{cash}dollars\n")print("Hereareyounexttwocards")#抽三张牌,显示前两张card_a,card_b,card_c=draw_3cards()print(f"{cards[card_a]}")print(f"{cards[card_b]}\n")#玩家猜第三张牌是否在前两个bet=get_user_bet(cash)#扣除赌注,显示第三个cash-=betprint(f"{cards[card_c]}")#检查猜测结果#如果猜对,返回double双倍赌注,否则如果card_a