版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
綜合問(wèn)題的解決第二課時(shí)第4單元4.4學(xué)習(xí)目標(biāo)★學(xué)會(huì)分析任務(wù),描述需求分析,知道需要解決的關(guān)鍵問(wèn)題?!矬w驗(yàn)軟件開發(fā)的基本流程。活動(dòng)1
界面設(shè)計(jì)1.創(chuàng)建程序窗口,設(shè)置背景。調(diào)用pygame.display.set_mode()函數(shù),將返回一個(gè)窗口。xy0如果想在窗口上繪制或是放置對(duì)象,需要指定這個(gè)對(duì)象在窗口的具體位置,即坐標(biāo)。pygame中的坐標(biāo)系原點(diǎn)在左上角,水平方向?yàn)閤軸,垂直方向?yàn)閥軸。在pygame中,使用圖像的最簡(jiǎn)單方法是調(diào)用image函數(shù)。通過(guò)pygame.image.load(filename)來(lái)載入圖片,filename表示圖像文件的路徑和名稱。圖像文件必須和程序在同一文件夾下才可以使用相對(duì)路徑的引用方式。以下是一個(gè)樣例程序。importpygame
#導(dǎo)入模塊pygame.init()
#pygame模塊初始化#創(chuàng)建一個(gè)窗口screen,大小為800*600screen=pygame.display.set_mode([800,600])pygame.display.set_caption('實(shí)例')
#設(shè)置屏幕標(biāo)題screen.fill((144,238,144)) #窗口填充淡綠色img=pygame.image.load('ball.png') #載入ball.png圖像到內(nèi)存#將圖像繪制在screen中,圖像的左上角在[200,200]screen.blit(img,[200,200])pygame.display.update() #窗口刷新運(yùn)行結(jié)果#創(chuàng)建一個(gè)窗口screen,大小為800*600screen=____________________————————————— ————————————— #設(shè)置窗口標(biāo)題為“接?!眀ack=______________('bj.jpg’)#加載背景圖screen.blit(____________,[0,0]) #將背景圖畫在窗口[0,0]位置_________________________ #刷新畫面Pygame設(shè)置以圖片為背景的窗口importpygamepygame.init()screen=pygame.display.set_mode([800,600])image=pygame.image.load(“背景.jpg”)screen.blit(image,[0,0])pygame.display.update()2.繪制福字為了便于游戲循環(huán)中反復(fù)調(diào)用,可以定義成一個(gè)函數(shù)showfu,在繪制福字時(shí),需要設(shè)置圖像顯示的位置,因此showfu中有兩個(gè)參數(shù),分別表示圖像位置的橫坐標(biāo)和縱坐標(biāo)。defshowfu(x,y):
#定義函數(shù),在坐標(biāo)(x,y)上顯示圖像 gift=pygame.image.load('fu.png’) #加載福字圖像 screen.blit(gift,[x,y]) #顯示福字在實(shí)際使用中,只要提供一對(duì)坐標(biāo)值,就可以調(diào)用showfu了。3.顯示得分。顯示游戲得分的方法為:先定義顯示字體,然后將score顯示出來(lái)。為了增加代碼的復(fù)用性,以便游戲循環(huán)中狀態(tài)更新時(shí)反復(fù)調(diào)用,可以定義成一個(gè)函數(shù)showscore。defshowscore(score):
#定義函數(shù),顯示分?jǐn)?shù) textfont=pygame.font.SysFont('Arial',30)#字體為Arial,大小30
#生成平滑的紅色字符串 t=textfont.render('score:'+str(score),True,(255,0,0)) screen.blit(t,[50,50])#在窗口顯示仔細(xì)閱讀代碼并理解各語(yǔ)句的含義。在pygame的游戲循環(huán)中,我們通過(guò)調(diào)用以下語(yǔ)句來(lái)完成游戲狀態(tài)的更新和屏幕的重繪,請(qǐng)?jiān)跈M線上注明各語(yǔ)句的功能。screen.blit(back,[0,0])showscore(score)x=random.randint(50,700)y=random.randint(50,500)showfu(x,y)pygame.display.update()pygame.time.delay(800)#_________________#_________________#_________________#_________________#_________________#_________________#設(shè)置兩次顯示福字之間的延時(shí)活動(dòng)2
人機(jī)交互及程序拼裝在本項(xiàng)目中,人機(jī)交互主要體現(xiàn)在鼠標(biāo)單擊上。需要獲取按鍵的情況,就要在監(jiān)聽事件中增加相應(yīng)的判斷語(yǔ)句。打開教科書配套資源中的“接福.py",找到相應(yīng)的代碼,仔細(xì)閱讀并理解各語(yǔ)句的含義,在下面橫線上用自然語(yǔ)言描述其對(duì)應(yīng)的功能。ifevent.type==pygame.MOUSEBUTTONDOWN:
#__________________#獲取鼠標(biāo)按下的坐標(biāo)并記錄在mousex,mousey中mousex,mousey=pygame.mouse.get_pos()#判斷鼠標(biāo)是否擊中福字,本例中福字寬為60,高為70ifmousexinrange(x,x+60)andmouseyinrange(y,y+70): score=score+5 #___________________最后,我們可以參照流程圖組裝各程序塊并調(diào)試運(yùn)行,也可以在Python中打開教科書配套資源中的“接福py"并運(yùn)行。
雖然游戲項(xiàng)目已開發(fā)完成,但這款游戲還有不盡如人意的地方,如游戲難度無(wú)法調(diào)整等,請(qǐng)?jiān)谙旅娴目蛑刑顚懩銓?duì)游戲的改進(jìn)意見。pygam鍵盤事件拓展練習(xí)利用鍵盤實(shí)現(xiàn)人機(jī)交互在游戲中很常見。教材第114頁(yè)圖4.4.5所示,這個(gè)實(shí)例是通過(guò)鍵盤的左、右方向鍵來(lái)控制小船的左右移動(dòng)。鞏固提升1.(單選)以下關(guān)于算法中輸入、輸出的描述正確的是(
)A.算法可以沒(méi)有輸入,表示該算法不涉及任何數(shù)據(jù)信息B.算法可以沒(méi)有輸出,表示該算法運(yùn)行結(jié)果為尤解“C.算法必須要有輸入,否則算法無(wú)法進(jìn)行D.算法至少要有一個(gè)輸出鞏固提升2.(單選)采用盲目搜索的方法,在搜索的過(guò)程中,對(duì)所得的結(jié)果逐一篩選,排除不符合要求的結(jié)果,保留那些符合要求的結(jié)果,這種方法叫作()A.解析法 B.遞推法C.枚舉法 D.選擇法鞏
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房地產(chǎn)反擔(dān)保抵押合同附件十3篇
- 二零二五年度綠色物流鋼材運(yùn)輸服務(wù)合同2篇
- 二零二五年度車輛租賃與車輛銷售服務(wù)合同2篇
- 二零二五年度高端商務(wù)汽車租賃服務(wù)合同協(xié)議2篇
- 二零二五版冷鏈物流訂餐服務(wù)合同范本與質(zhì)量保證2篇
- 二零二五年擔(dān)保合同范本修訂要點(diǎn)與執(zhí)行建議6篇
- 二零二五版房產(chǎn)抵押投資合作合同范本3篇
- 二零二五版物流運(yùn)輸企業(yè)勞動(dòng)合同范本與司機(jī)權(quán)益保障服務(wù)合同3篇
- 二零二五年度房地產(chǎn)經(jīng)紀(jì)服務(wù)合同補(bǔ)充協(xié)議2篇
- 二零二五版12333職業(yè)培訓(xùn)補(bǔ)貼政策合同3篇
- 上海紐約大學(xué)自主招生面試試題綜合素質(zhì)答案技巧
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 2022年物流服務(wù)師職業(yè)技能競(jìng)賽理論題庫(kù)(含答案)
- ?;钒踩僮饕?guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術(shù)規(guī)程
- 高邊坡施工危險(xiǎn)源辨識(shí)及分析
- 中海地產(chǎn)設(shè)計(jì)管理程序
- 簡(jiǎn)譜視唱15942
- 《城鎮(zhèn)燃?xì)庠O(shè)施運(yùn)行、維護(hù)和搶修安全技術(shù)規(guī)程》(CJJ51-2006)
- 項(xiàng)目付款審核流程(visio流程圖)
評(píng)論
0/150
提交評(píng)論