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