您好,登錄后才能下訂單哦!
# coding:utf-8 # __author__: 神仙也考試 # __author time__: 2017/8/8 import random print """ 需求: 1、初始CPU和人各隨機擁有2張牌; 2、各計算得出初始2張牌的總數; 3、當擁有的牌數小于16點則自動新增一張牌; 4、新增的牌進入計算總和; 5、人的計算中:當大于等16點時候進行選擇是否加牌;當加的牌大于等于22點,則自動停止; 6、CPU的計算中:當小于16點則自動新增牌并計算;當大于16點則自動停止; 7、最后得出的值進行比較 8、比較規則: 【1】都大于等于22點,則和局; 【2】都小于22點時,若兩個數相等,則和局; 【3】點數大者為贏,點數小者為輸。 """ print "*************** 開始游戲 ***************" # 初始化4個隨機1-10的整數 number1 = random.randint(1, 10) number2 = random.randint(1, 10) number3 = random.randint(1, 10) number4 = random.randint(1, 10) # 初始化CPU和人的隨機列表 man_numbers = [number1, number2] cpu_numbers = [number3, number4] # 初始化CPU和人的總數 man_count = 0 cpu_count = 0 # 初始化循環標識 flag_cpu = 1 flag_man = 1 # ************************************** # ############# 定義人行為 ############# # ************************************** # 計算初始人得到的總數 for i in man_numbers: man_count = man_count + i print "你擁有的牌是 %s " % man_numbers print "你的牌數總計點數是 %s" % man_count if man_count < 16: # 小于16則繼續自動添加牌到16點以上 print "擁有的牌數小于16點,自動添加新牌到16點以上..." while flag_man == 1: man_random1 = random.randint(1, 10) # 獲得隨機值,保證每次取到的都是一個新的隨機值 man_numbers.append(man_random1) # 把獲得的隨機值添加到列表中 man_count = man_count + man_numbers[-1] # 始終加上列表的最后一個值 if man_count >= 16 and man_count <22: while flag_man == 1: print "你擁有的牌數點數大于16點,總數為 %s,是否需要繼續添加新牌?" % man_count print "任意鍵表示繼續要牌,輸入大寫Q或小寫q,表示退出!" get_key = raw_input("請輸入:\n") if get_key == 'Q' or get_key == 'q': flag_man = 0 else: man_random2 = random.randint(1, 10) # 獲得隨機值,保證每次取到的都是一個新的隨機值 man_numbers.append(man_random2) # 把獲得的隨機值添加到列表中 man_count = man_count + man_numbers[-1] # 始終加上列表的最后一個值 if man_count >= 22: flag_man = 0 if man_count >= 22: flag_man = 0 print """******************************""" print "當前你的牌數總數是 %s" % man_count print "當前你擁有的牌是 %s" % man_numbers else: while flag_man == 1: print "你擁有的牌數點數大于16點,總數為 %s,是否需要繼續添加新牌?" % man_count print "任意鍵表示繼續要牌,輸入大寫Q或小寫q,表示退出!" get_key = raw_input("請輸入:\n") if get_key == 'Q' or get_key == 'q': flag_man = 0 else: man_random3 = random.randint(1, 10) # 獲得隨機值,保證每次取到的都是一個新的隨機值 man_numbers.append(man_random3) # 把獲得的隨機值添加到列表中 man_count = man_count + man_numbers[-1] # 始終加上列表的最后一個值 if man_count >= 22: flag_man = 0 print """******************************""" print "當前你的牌數總數是 %s" % man_count print "當前你擁有的牌是 %s" % man_numbers # ************************************** # ############# 定義CPU行為 ############ # ************************************** # 計算初始CPU得到的總數 for j in cpu_numbers: cpu_count = cpu_count + j if cpu_count < 16: while flag_cpu == 1: # CPU獲取隨機值 cpu_random1 = random.randint(1, 10) cpu_numbers.append(cpu_random1) cpu_count = cpu_count + cpu_numbers[-1] if cpu_count >= 16: flag_cpu = 0 print """******************************""" print "CPU的總和是 %s" % cpu_count print "當前CPU擁有的牌是 %s" % cpu_numbers else: print """******************************""" print "CPU的總和是 %s" % cpu_count print "當前CPU擁有的牌是 %s" % cpu_numbers # ************************************** # ######### 比較CPU和人的值 ########### # ************************************** print """******************************""" if man_count >= 22 and cpu_count < 22: print "CPU贏了..." print "你的總數大于22,你輸了..." elif man_count < 22 and cpu_count >= 22: print "你贏了..." print "CPU的總數大于22,CPU輸了..." elif man_count <= 21 and cpu_count <= 21: if man_count > cpu_count: print "你贏了..." print "你的總數為:%s" % man_count print "CPU輸了..." print "CPU的總數為:%s" % cpu_count elif man_count < cpu_count: print "CPU贏了..." print "CPU的總數為:%s" % cpu_count print "你輸了..." print "你的總數為:%s" % man_count else: print "和局..." print "你和CPU的總數都為:%s" % man_count else: print "和局..." print "你和CPU的總數都大于22..." print "*************** 游戲結束 ***************"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。