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

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

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

1、游戲窗口

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

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

  1. pygame.init() 

否則,在本案例中輸出漢字時,會提示錯誤,字體沒有初始化。

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

  1. # 創(chuàng)建一個游戲窗口 
  2. surface = pygame.display.set_mode((480652)) 
  3. # 加載背景圖片 
  4. background = pygame.image.load('./img/background.png'
  5. # 調(diào)整連續(xù)按鍵事件生成時間 
  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è)計了游戲循環(huán),還設(shè)計了玩家飛機(jī)、敵機(jī)、玩家子彈和敵人子彈四個類,以及碰撞和控制兩個功能函數(shù)。另外,還有游戲啟動界面和結(jié)束界面等函數(shù)。

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

①繪制背景圖片。

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

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

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

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

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

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

⑧更新游戲窗口。

游戲循環(huán)的具體實現(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ī)的移動 
  7.     impact(hero, enemyplan.biu_list)   # 檢測玩家飛機(jī)與敵機(jī)發(fā)射子彈的碰撞情況 
  8.     impact(enemyplan, hero.biu_list)   # 檢測敵機(jī)和玩家飛機(jī)發(fā)射子彈的碰撞情況 
  9.     pygame.display.update()   # 更新游戲窗口 

 

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

更多內(nèi)容

>>本文地址:http://hqfphsz.com/zhuanye/2021/70181.html

THE END  

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

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個方向的工作?

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

快速通道fast track

近期開班時間TIME