高中信息技術(shù)教科版(2020)必修1課件4-4綜合問題的解決(第二課時)_第1頁
高中信息技術(shù)教科版(2020)必修1課件4-4綜合問題的解決(第二課時)_第2頁
高中信息技術(shù)教科版(2020)必修1課件4-4綜合問題的解決(第二課時)_第3頁
高中信息技術(shù)教科版(2020)必修1課件4-4綜合問題的解決(第二課時)_第4頁
高中信息技術(shù)教科版(2020)必修1課件4-4綜合問題的解決(第二課時)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

綜合問題的解決第二課時第4單元4.4學(xué)習(xí)目標(biāo)★學(xué)會分析任務(wù),描述需求分析,知道需要解決的關(guān)鍵問題。★體驗軟件開發(fā)的基本流程。活動1

界面設(shè)計1.創(chuàng)建程序窗口,設(shè)置背景。調(diào)用pygame.display.set_mode()函數(shù),將返回一個窗口。xy0如果想在窗口上繪制或是放置對象,需要指定這個對象在窗口的具體位置,即坐標(biāo)。pygame中的坐標(biāo)系原點在左上角,水平方向為x軸,垂直方向為y軸。在pygame中,使用圖像的最簡單方法是調(diào)用image函數(shù)。通過pygame.image.load(filename)來載入圖片,filename表示圖像文件的路徑和名稱。圖像文件必須和程序在同一文件夾下才可以使用相對路徑的引用方式。以下是一個樣例程序。importpygame

#導(dǎo)入模塊pygame.init()

#pygame模塊初始化#創(chuàng)建一個窗口screen,大小為800*600screen=pygame.display.set_mode([800,600])pygame.display.set_caption('實例')

#設(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() #窗口刷新運行結(jié)果#創(chuàng)建一個窗口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)用,可以定義成一個函數(shù)showfu,在繪制福字時,需要設(shè)置圖像顯示的位置,因此showfu中有兩個參數(shù),分別表示圖像位置的橫坐標(biāo)和縱坐標(biāo)。defshowfu(x,y):

#定義函數(shù),在坐標(biāo)(x,y)上顯示圖像 gift=pygame.image.load('fu.png’) #加載福字圖像 screen.blit(gift,[x,y]) #顯示福字在實際使用中,只要提供一對坐標(biāo)值,就可以調(diào)用showfu了。3.顯示得分。顯示游戲得分的方法為:先定義顯示字體,然后將score顯示出來。為了增加代碼的復(fù)用性,以便游戲循環(huán)中狀態(tài)更新時反復(fù)調(diào)用,可以定義成一個函數(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ì)閱讀代碼并理解各語句的含義。在pygame的游戲循環(huán)中,我們通過調(diào)用以下語句來完成游戲狀態(tài)的更新和屏幕的重繪,請在橫線上注明各語句的功能。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è)置兩次顯示福字之間的延時活動2

人機交互及程序拼裝在本項目中,人機交互主要體現(xiàn)在鼠標(biāo)單擊上。需要獲取按鍵的情況,就要在監(jiān)聽事件中增加相應(yīng)的判斷語句。打開教科書配套資源中的“接福.py",找到相應(yīng)的代碼,仔細(xì)閱讀并理解各語句的含義,在下面橫線上用自然語言描述其對應(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)試運行,也可以在Python中打開教科書配套資源中的“接福py"并運行。

雖然游戲項目已開發(fā)完成,但這款游戲還有不盡如人意的地方,如游戲難度無法調(diào)整等,請在下面的框中填寫你對游戲的改進意見。pygam鍵盤事件拓展練習(xí)利用鍵盤實現(xiàn)人機交互在游戲中很常見。教材第114頁圖4.4.5所示,這個實例是通過鍵盤的左、右方向鍵來控制小船的左右移動。鞏固提升1.(單選)以下關(guān)于算法中輸入、輸出的描述正確的是(

)A.算法可以沒有輸入,表示該算法不涉及任何數(shù)據(jù)信息B.算法可以沒有輸出,表示該算法運行結(jié)果為尤解“C.算法必須要有輸入,否則算法無法進行D.算法至少要有一個輸出鞏固提升2.(單選)采用盲目搜索的方法,在搜索的過程中,對所得的結(jié)果逐一篩選,排除不符合要求的結(jié)果,保留那些符合要求的結(jié)果,這種方法叫作()A.解析法 B.遞推法C.枚舉法 D.選擇法鞏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論