日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python實現21點小游戲

瀏覽:151日期:2022-06-21 09:59:03

用python實現21點小游戲,供大家參考,具體內容如下

from random import shuffleimport randomimport numpy as npfrom sys import exit# 初始化撲克牌playing_cards = { '黑桃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, '紅桃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, '梅花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, '方塊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}# 撲克牌面poker_name = list(playing_cards.keys())# 撲克牌的數量poker_count = 1poker_list = poker_count*poker_name# 用于判斷手中的牌是否有A,再根據牌面判斷A是否取值1還是11four_a = {’黑桃A’, ’紅桃A’, ’梅花A’, ’方塊A’}# 計分器total_score = np.array([0, 0])# 記錄回合數game_round = 1def random_cards(poker_name_list): ''' 定義洗牌函數:重新對牌進行隨機排列 ''' shuffle(poker_name_list)def score_count(hand_poker): ''' 計算手中牌的分數 :param hand_poker:一個含有牌名的列表 :return: 手中牌 的分數poker_score ''' # 聲明一個變量,記錄牌的總分數 poker_score = 0 # 標記:判斷是否有A的標記,默認沒有 have_a = False # 計算手中牌的分數 for k in hand_poker:poker_score += playing_cards[k] # 判斷手中的牌是否含有A,再根據A的規則進行分數的計算 for i in hand_poker:if i in four_a: have_a = True breakelse: continue if have_a:if poker_score + 10 <= 21: poker_score = poker_score + 10 return poker_scoredef who_win(your_score, pc_score): ''' 判斷游戲的勝負 :param your_score: 玩家分數 :param pc_score: 電腦分數 :return: 勝負的數組 ''' if your_score > 21 and pc_score > 21:print(’平局’)return np.array([0, 0]) elif your_score > 21 and pc_score <= 21:print(’對不起,玩家輸了’)return np.array([0, 1]) elif your_score <= 21 and pc_score > 21:print(’恭喜!!玩家勝利了’)return np.array([1, 0]) elif your_score <= 21 and pc_score <= 21:if your_score > pc_score: print(’恭喜!!玩家勝利了’) return np.array([1, 0])elif your_score < pc_score: print(’對不起,玩家輸了’) return np.array([0, 1])else: print(’平局!!’) return np.array([0, 0])def if_get_next_poker(): ''' 是否繼續要牌 ''' if_continue = input('是否繼續要下一張牌?(Y/N)>>>>:') if if_continue.upper() == 'Y':return get_one_poker() elif if_continue.upper() == 'N':print(’玩家停止叫牌’)return False else:print('輸入有誤,請重新輸入')return if_get_next_poker()def get_one_poker(): ''' 發牌函數:隨機將poker_list里的牌取出一張 :return: ''' return poker_list.pop(random.randint(0, len(poker_list)-1))def continue_or_quit(): ''' 一輪游戲結束后,詢問玩家是否進行下一輪 ''' if_next_round = input('是否進行下一輪游戲(Y/N)>>>>:') if if_next_round.upper() == ’Y’:# 判斷撲克牌是否玩的了下一輪if len(poker_list) <= 15: print(’對不起,剩余牌數不足,無法進行下一輪,游戲結束。’) exit(1)else: return True elif if_next_round.upper() == 'N':print('玩家不玩了。游戲結束!!')exit(1) else:print('輸入有誤,請重新輸入')return continue_or_quit()def start_game_init_two_poker(poker_database): ''' 初始化游戲,給玩家和電腦隨機發兩張牌 :param poker_database: 牌堆 :return: 玩家和電腦的初始牌面列表 ''' return [poker_database.pop(random.randint(0, len(poker_list)-1)), poker_database.pop(random.randint(0, len(poker_list)-1))]def every_round(porker_list): ''' 每一輪游戲的流程 :param porker_list:牌堆 :return:游戲的獲勝者 ''' # 聲明一個變量,代表玩家手里的牌 your_hand_poker = [] # 聲明一變量,代表電腦手里的牌 pc_hand_poker = [] # 游戲開始,先從牌堆中取兩張牌 you_init_poker = start_game_init_two_poker(porker_list) pc_init_poker = start_game_init_two_poker(porker_list) # 展示玩家獲得的撲克 print(f'玩家所獲得的牌是:{you_init_poker[0]}和{you_init_poker[1]}') print(f'電腦所獲得的第一張牌是:{pc_init_poker[0]}') # 玩家和電腦得到所發的兩張撲克牌 your_hand_poker.extend(you_init_poker) pc_hand_poker.extend(pc_init_poker) # 計算初始撲克的分數 your_score = score_count(your_hand_poker) pc_score = score_count(pc_hand_poker) # 根據初始牌面分數,判斷是否能有21點,如果有直接使用判斷輸贏函數 if your_score == 21 or pc_score == 21:print('初始牌中有21點了。')return who_win(your_score, pc_score) # 如果沒有,根據自己手中的牌,判斷是否要牌。 else:while True: get_new_poker = if_get_next_poker() # 玩家要牌 if get_new_poker != False:# 將新牌拿到手里并重新計算手里的牌的分數your_hand_poker.append(get_new_poker)print(f'玩家手里的牌是{your_hand_poker}')your_score = score_count(your_hand_poker)if your_score > 21: print('玩家的牌已經超過21點') print(f'電腦手里的牌是{pc_hand_poker}') return who_win(your_score, pc_score)else: continue # 玩家停止要牌,則電腦開始要牌 elif get_new_poker == False:# 電腦要牌規則一:只要比玩家分數就要牌# while pc_score < your_score:# pc_new_poker = get_one_poker()# pc_hand_poker.append(pc_new_poker)# # 重新計算電腦手中的牌的分數# pc_score = score_count(pc_hand_poker)# 電腦要牌規則二:當電腦的手中牌的分數落在區間[1:18]時,就一直要牌while pc_score in range(1, 19): pc_new_poker = get_one_poker() pc_hand_poker.append(pc_new_poker) # 重新計算電腦的分數 pc_score = score_count(pc_hand_poker)print(f'電腦手里的牌為{pc_hand_poker}')return who_win(your_score, pc_score) else:continue'''游戲調用主程序'''while True: print('游戲即將開始,祝你好運!!!') input('按下【enter】開始游戲>>>') print(f'現在是第{game_round}輪游戲') # 洗牌 random_cards(poker_list) # 游戲開始 score = every_round(poker_list) # 計算總分 total_score = np.add(total_score, score) print(f’此輪游戲結束,目前比分:{total_score[0]}:{total_score[1]}’) game_round += 1 continue_or_quit()running result

python實現21點小游戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品国产99国产| 午夜av一区| 蜜桃久久久久久| 极品日韩av| 国产字幕视频一区二区| 91精品久久久久久久久久不卡| xxxxx性欧美特大| 群体交乱之放荡娇妻一区二区| 美女免费视频一区| 麻豆久久久久久| av资源中文在线| 精品欧美一区二区三区在线观看| 成人看片网站| 欧美日韩国产探花| 蜜桃av一区二区三区电影| 日韩美女精品| 久久69成人| 日韩在线第七页| 欧美日韩国产在线一区| 亚洲精品九九| 精品一区二区三区视频在线播放| а√天堂8资源在线| 性感美女一区二区在线观看| 精品国模一区二区三区| 最新亚洲激情| 一区二区国产精品| 国产精品视频3p| jizzjizz中国精品麻豆| 婷婷综合激情| 亚洲九九精品| 麻豆91精品91久久久的内涵| 在线天堂资源www在线污| 欧美理论视频| 亚洲精品精选| av中文字幕在线观看第一页| 亚洲激情欧美| 国产亚洲久久| 久久激情一区| 亚洲精品美女| 久久精品五月| 狠狠色综合网| 国产日本精品| 精品在线99| 日本午夜精品| 日本精品不卡| 日韩区欧美区| 亚洲国产福利| 日本一区福利在线| 四虎8848精品成人免费网站| 99亚洲精品| 久久中文字幕一区二区三区| 韩日一区二区三区| 国产精品美女在线观看直播| 日产精品一区| 少妇精品久久久一区二区| 国产aa精品| 色综合视频一区二区三区日韩 | 在线视频亚洲| 国产精品tv| 亚洲激情社区| 精品日本视频| 亚洲精品少妇| 欧美日韩水蜜桃| 国产亚洲人成a在线v网站| 92国产精品| 91精品国产自产精品男人的天堂| 日韩高清成人| 日本aⅴ亚洲精品中文乱码 | 久久久久蜜桃| 国产精品午夜一区二区三区| 欧美精选一区二区三区| 国产精品极品在线观看| 久久午夜精品| 久久精品在线| 麻豆精品蜜桃视频网站| 亚洲欧美高清| 三级小说欧洲区亚洲区| 亚欧成人精品| 狠狠操综合网| 亚洲精品88| 蜜桃精品视频| 亚洲人成在线影院| 国产一在线精品一区在线观看| 青青草国产成人99久久| 亚洲午夜精品久久久久久app| 国产美女亚洲精品7777| 欧美一区=区| 久久亚洲在线| 国产第一亚洲| 国产极品模特精品一二| 在线视频亚洲欧美中文| 激情五月综合| 亚洲最新无码中文字幕久久| 国产香蕉精品| 亚洲麻豆一区| 亚洲欧美网站| re久久精品视频| 日韩精品欧美| 里番精品3d一二三区| 久久激五月天综合精品| 婷婷精品在线| 亚洲免费专区| 综合色就爱涩涩涩综合婷婷| 欧美日韩国产探花| 国产99久久| 久久久久蜜桃| 999久久久91| 欧美成人精品三级网站| 97国产成人高清在线观看| 精品久久亚洲| 国产一区二区三区四区五区| 国产劲爆久久| 免费一级欧美片在线观看网站 | 日韩1区在线| 精品久久久网| 国产精品久久久久蜜臀 | 国产欧美日韩精品一区二区免费 | 你懂的亚洲视频| 青草av.久久免费一区| 久热综合在线亚洲精品| 91久久黄色| 夜夜嗨网站十八久久| 欧美美女一区| 99香蕉国产精品偷在线观看| 国产精品婷婷| 日本大胆欧美人术艺术动态| 激情欧美日韩一区| 91精品观看| 免费在线成人网| 亚洲人成亚洲精品| 欧美亚洲免费| 久久99性xxx老妇胖精品| 国产suv精品一区| 一区二区三区四区日本视频| 久久激情网站| 中文在线不卡| 亚洲毛片视频| 国产精品久久久久av蜜臀| 精品国产亚洲一区二区三区大结局| 国产一区二区三区四区五区传媒| 日韩欧美自拍| 久久久影院免费| 美女精品网站| 日韩毛片一区| 久久精品免费看| 久久九九99| 久久国产高清| 国产精品一区二区精品视频观看 | 欧美一区影院| 麻豆传媒一区二区三区| 色欧美自拍视频| 99视频精品全部免费在线视频| 在线看片不卡| 青青草91久久久久久久久| 久草精品视频| 免费不卡中文字幕在线| 久久都是精品| 国产精品va视频| 久久久久99| 免费一级片91| 欧美黄色一区| 午夜精品成人av| 亚洲作爱视频| 国产精品一区二区三区www| 91日韩免费| 噜噜噜躁狠狠躁狠狠精品视频 | 在线成人直播| 日韩高清三区| 中文字幕在线高清| 亚洲欧美久久久| 欧美国产亚洲精品| 免费看av不卡| 天堂av一区| 在线看片福利| 亚洲欧美日韩专区| 免费亚洲一区| 在线看片不卡| 欧美日韩一区二区三区在线电影| 中文字幕色婷婷在线视频| 香蕉久久久久久久av网站| 美女久久99| 狠狠色综合网| 麻豆国产精品一区二区三区| 美女少妇全过程你懂的久久| 国产精品网在线观看| 国产精品av一区二区| 蜜桃一区二区三区在线观看| 老牛国内精品亚洲成av人片| 亚洲欧美成人综合| 国语对白精品一区二区| 美女精品网站| 高清av不卡| 久久国产乱子精品免费女| 国精品一区二区| 国产精品红桃| 视频一区二区中文字幕| 麻豆成全视频免费观看在线看| 亚洲精品韩国| 91精品国产调教在线观看| 国产亚洲精品美女久久久久久久久久|