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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

綜合問題的解決第二課時第4單元4.4學習目標★學會分析任務,描述需求分析,知道需要解決的關鍵問題?!矬w驗軟件開發的基本流程?;顒?

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

#導入模塊pygame.init()

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

#設置屏幕標題screen.fill((144,238,144)) #窗口填充淡綠色img=pygame.image.load('ball.png') #載入ball.png圖像到內存#將圖像繪制在screen中,圖像的左上角在[200,200]screen.blit(img,[200,200])pygame.display.update() #窗口刷新運行結果#創建一個窗口screen,大小為800*600screen=____________________————————————— ————————————— #設置窗口標題為“接?!眀ack=______________('bj.jpg’)#加載背景圖screen.blit(____________,[0,0]) #將背景圖畫在窗口[0,0]位置_________________________ #刷新畫面Pygame設置以圖片為背景的窗口importpygamepygame.init()screen=pygame.display.set_mode([800,600])image=pygame.image.load(“背景.jpg”)screen.blit(image,[0,0])pygame.display.update()2.繪制福字為了便于游戲循環中反復調用,可以定義成一個函數showfu,在繪制福字時,需要設置圖像顯示的位置,因此showfu中有兩個參數,分別表示圖像位置的橫坐標和縱坐標。defshowfu(x,y):

#定義函數,在坐標(x,y)上顯示圖像 gift=pygame.image.load('fu.png’) #加載福字圖像 screen.blit(gift,[x,y]) #顯示福字在實際使用中,只要提供一對坐標值,就可以調用showfu了。3.顯示得分。顯示游戲得分的方法為:先定義顯示字體,然后將score顯示出來。為了增加代碼的復用性,以便游戲循環中狀態更新時反復調用,可以定義成一個函數showscore。defshowscore(score):

#定義函數,顯示分數 textfont=pygame.font.SysFont('Arial',30)#字體為Arial,大小30

#生成平滑的紅色字符串 t=textfont.render('score:'+str(score),True,(255,0,0)) screen.blit(t,[50,50])#在窗口顯示仔細閱讀代碼并理解各語句的含義。在pygame的游戲循環中,我們通過調用以下語句來完成游戲狀態的更新和屏幕的重繪,請在橫線上注明各語句的功能。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)#_________________#_________________#_________________#_________________#_________________#_________________#設置兩次顯示福字之間的延時活動2

人機交互及程序拼裝在本項目中,人機交互主要體現在鼠標單擊上。需要獲取按鍵的情況,就要在監聽事件中增加相應的判斷語句。打開教科書配套資源中的“接福.py",找到相應的代碼,仔細閱讀并理解各語句的含義,在下面橫線上用自然語言描述其對應的功能。ifevent.type==pygame.MOUSEBUTTONDOWN:

#__________________#獲取鼠標按下的坐標并記錄在mousex,mousey中mousex,mousey=pygame.mouse.get_pos()#判斷鼠標是否擊中福字,本例中福字寬為60,高為70ifmousexinrange(x,x+60)andmouseyinrange(y,y+70): score=score+5 #___________________最后,我們可以參照流程圖組裝各程序塊并調試運行,也可以在Python中打開教科書配套資源中的“接福py"并運行。

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

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

溫馨提示

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

評論

0/150

提交評論