400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】飛機(jī)大戰(zhàn)——飛機(jī)大戰(zhàn)游戲框架

【Python基礎(chǔ)知識(shí)】飛機(jī)大戰(zhàn)——飛機(jī)大戰(zhàn)游戲框架

  • 來(lái)源:優(yōu)就業(yè)
  • 2021-09-28 09:57:45
  • 閱讀()
  • 分享
  • 手機(jī)端入口

1、游戲窗口

經(jīng)過(guò)安裝Pygame,以及了解Pygame的核心功能之后,可以開(kāi)始編寫(xiě)一個(gè)小的游戲案例了。下面將制作一個(gè)飛機(jī)大戰(zhàn)游戲,游戲內(nèi)容是敵對(duì)的兩架飛機(jī)互相射擊。

游戲開(kāi)始前需要調(diào)用初始化函數(shù),代碼如下:

  1. pygame.init() 

否則,在本案例中輸出漢字時(shí),會(huì)提示錯(cuò)誤,字體沒(méi)有初始化。

創(chuàng)建一個(gè)游戲窗口,加載背景,設(shè)置窗口標(biāo)題和圖標(biāo)等,代碼如下:

  1. # 創(chuàng)建一個(gè)游戲窗口 
  2. surface = pygame.display.set_mode((480652)) 
  3. # 加載背景圖片 
  4. background = pygame.image.load('./img/background.png'
  5. # 調(diào)整連續(xù)按鍵事件生成時(shí)間 
  6. pygame.key.set_repeat(5050
  7. # 設(shè)置窗口標(biāo)題 
  8. pygame.display.set_caption('飛機(jī)大戰(zhàn)'
  9. # 設(shè)置窗口圖標(biāo) 
  10. pygame.display.set_icon(pygame.image.load('./img/icon72x72.png')) 

2、游戲循環(huán)

飛機(jī)大戰(zhàn)中設(shè)計(jì)了游戲循環(huán),還設(shè)計(jì)了玩家飛機(jī)、敵機(jī)、玩家子彈和敵人子彈四個(gè)類(lèi),以及碰撞和控制兩個(gè)功能函數(shù)。另外,還有游戲啟動(dòng)界面和結(jié)束界面等函數(shù)。

整個(gè)游戲的游戲循環(huán)如下:

①繪制背景圖片。

②控制玩家飛機(jī),主要響應(yīng)玩家的操作。例如,玩家點(diǎn)擊關(guān)閉按鈕,則退出游戲;玩家按下左箭頭鍵,則飛機(jī)向左移動(dòng);玩家按下右箭頭鍵,則飛機(jī)向右移動(dòng);玩家按下空格鍵,則飛機(jī)發(fā)射子彈。

③繪制玩家飛機(jī),包括正常狀態(tài)和被擊毀狀態(tài);繪制玩家飛機(jī)發(fā)射的子彈。

④繪制敵機(jī),包括正常狀態(tài)和被擊毀狀態(tài);繪制敵機(jī)發(fā)射的子彈。

⑤控制敵機(jī)的移動(dòng)。

⑥檢測(cè)玩家飛機(jī)與敵機(jī)發(fā)射子彈的碰撞情況。

⑦檢測(cè)敵機(jī)和玩家飛機(jī)發(fā)射子彈的碰撞情況。

⑧更新游戲窗口。

游戲循環(huán)的具體實(shí)現(xiàn)代碼如下:

  1. while True
  2.     surface.blit(background, (00))   # 繪制背景圖片 
  3.     kongzhi(hero)   # 控制玩家飛機(jī) 
  4.     hero.hero_display()   # 繪制玩家飛機(jī) 
  5.     enemyplan.display()   # 繪制敵機(jī) 
  6.     enemyplan.move()   # 控制敵機(jī)的移動(dòng) 
  7.     impact(hero, enemyplan.biu_list)   # 檢測(cè)玩家飛機(jī)與敵機(jī)發(fā)射子彈的碰撞情況 
  8.     impact(enemyplan, hero.biu_list)   # 檢測(cè)敵機(jī)和玩家飛機(jī)發(fā)射子彈的碰撞情況 
  9.     pygame.display.update()   # 更新游戲窗口 

 

文章“【Python基礎(chǔ)知識(shí)】飛機(jī)大戰(zhàn)——飛機(jī)大戰(zhàn)游戲框架”已幫助

更多內(nèi)容

>>本文地址:http://nfbqydst.cn/zhuanye/2021/70181.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME