資源簡介 (共32張PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少兒編程課射門小能手(一)游戲規(guī)則游戲分5輪進行。每一輪,玩家先選擇一個方向射門,電腦隨機判斷一個方向進行撲救,方向不同則進球得分,相同則不得分。之后攻守互換,玩家選擇方向撲救,電腦選擇方向射門。第5輪結(jié)束后,如果雙方得分不同,則游戲結(jié)束,得分高者獲勝。5輪之后,如果雙方平分,則比賽繼續(xù)進行,直到某一輪結(jié)束后分出勝負(fù)。direction方向shoot射 門score得 分項目拆解你率領(lǐng)的球隊和電腦控制的球隊在綠茵場上短兵相接、見招拆招。經(jīng)過90分鐘的鏖戰(zhàn),雙方帶著0:0的比分進入到點球大戰(zhàn)環(huán)節(jié)。將比賽擴大到五局,增設(shè)追加局,并繪制比賽場景。利用Turtle模塊讓比賽過程更為直觀。Class 1一局定勝負(fù)Class 2增加多樣性Class 3圖形化界面進行一局對戰(zhàn),對局結(jié)束后顯示比賽結(jié)果。玩家開始進攻輸入指令input('提示信息'):向計算機輸入內(nèi)容指令說明:括號中的字符串:提示使用者要向計算機輸入什么該指令的取值為用戶從鍵盤輸入的內(nèi)容玩家射門方向print('==== 輪到你來射門了! ====')#打印字符串,用來表示游戲開始a = input('選擇方向(左, 中, 右):')#創(chuàng)建一個變量a,用來存儲玩家選擇的射門方向玩家射門方向玩家開始進攻choice指令choice():返回列表或字符串的隨機項。運行結(jié)果:不確定,隨機import randoma = 'abcde'b = '12345'list1 = [a, b]list2 = ['a', 'b']list3 = [list1, list2]print(random.choice(a))print(random.choice(b))print(random.choice(list1))print(random.choice(list2))print(random.choice(list3))電腦防守方向import randomdirection = ['左', '中', '右']#定義一個列表存儲方向,并賦值給directionprint('==== 輪到你來射門了! ====')a = input('選擇方向(左, 中, 右):')b = random.choice(direction)#創(chuàng)建一個變量b,存儲隨機出的方向電腦防守玩家開始進攻格式化字符串%s:輸出字符串。%d:輸出整型。用來告訴程序以什么格式輸出內(nèi)容。a = 'Hello'print('%s,Jack!' % a)a = ['Hello', 'Jack']print('%s,%s!' %(a[0],a[1]))a = 1print('%d2345' % a)a = 1b = 2print('%d%d345' % (a, b))運行結(jié)果:Hello,Jack!Hello,Jack!運行結(jié)果:1234512345判斷進球score = [0,0]#創(chuàng)建一個列表用來存儲得分,score[0]代表玩家得分,score[1]代表電腦得分if a != b:print('射門成功!')score[0] += 1else:print('防守成功!')print('得分: %d(玩家) - %d(電腦)' % (score[0], score[1]))判斷進球顯示結(jié)果if score[0] > score[1]:print('你擊敗了電腦!')else:print('我還會回來的!')顯示結(jié)果反思總結(jié)對戰(zhàn)分析玩家進攻:顯示進攻的文字信息;選擇方向;進球:score[0] + 1;不進球:沒有變化。玩家防守:顯示防守的文字信息;選擇方向;進球:score[1] + 1;不進球:沒有變化。利用重復(fù)代碼print('==== 輪到你來射門了! ====')a = input('選擇方向(左, 中, 右):')b = random.choice(direction)if a != b:print('射門成功!')score[0] += 1else:print('防守成功!')print('得分: %d(玩家) - %d(電腦)' % (score[0], score[1]))玩家防守print('==== 輪到你來防守了! ====')a = input('選擇方向(左, 中, 右):')b = random.choice(direction)if a != b:print('射門成功!')score[1] += 1else:print('防守成功!')print('得分: %d(玩家) - %d(電腦)' % (score[0], score[1]))修改之后的代碼簡化代碼能不能改寫為函數(shù)?定義函數(shù)使用:def函數(shù)的名字:包餃子(make_dumplings)函數(shù)的輸入:餃子餡兒 (函數(shù)的輸入也會被稱為函數(shù)的參數(shù))函數(shù)體:根據(jù)餃子餡兒包餃子函數(shù)的輸出:各種餡兒的餃子 (函數(shù)的輸出也會被稱為函數(shù)的返回值)注意:所有的函數(shù)都必須有函數(shù)體,也必然會有輸出。但是def,函數(shù)名稱和函數(shù)的輸入并不是每一個函數(shù)都有。注意:所有的函數(shù),無論有沒有顯式的寫出return語句,都會有輸出。而且,如果顯式的寫了return語句,一旦執(zhí)行到return語句時,函數(shù)立即執(zhí)行結(jié)束。函數(shù)的組成改寫為函數(shù)def shoot(c): #定義一個函數(shù)if c == 0:print('==== 輪到你來射門了! ====')else:print('==== 輪到你來防守了! ====') #根據(jù)傳入?yún)?shù)的不同,顯示不同的文字信息……if a != b:print('射門成功!')score[c] += 1 #當(dāng)傳入?yún)?shù)為0或1時,可以實現(xiàn)分?jǐn)?shù)的增加else:……調(diào)用函數(shù)shoot(0)shoot(1)根據(jù)傳入?yún)?shù)的不同,執(zhí)行玩家進攻或電腦進攻,并存儲分?jǐn)?shù)。進行第一局游戲反思總結(jié) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫