久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python培訓(xùn)教程分享:教你做一款飛機(jī)大戰(zhàn)游戲框架

Python培訓(xùn)教程分享:教你做一款飛機(jī)大戰(zhàn)游戲框架

來源:千鋒教育
發(fā)布人:qyf
時(shí)間: 2022-01-14 17:46:00 1642153560

  Python是進(jìn)入到互聯(lián)網(wǎng)行業(yè)比較輕松的一門編程語言,對(duì)于零基礎(chǔ)學(xué)員來說選擇Python技術(shù)是非常明智的,Python不僅可以進(jìn)行數(shù)據(jù)分析,還可以制作游戲,接下來小編就為大家介紹本期的Python培訓(xùn)教程-教你做一款飛機(jī)大戰(zhàn)游戲框架。

Python

  Python培訓(xùn)教程分享:教你做一款飛機(jī)大戰(zhàn)游戲框架

  1、游戲窗口

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

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

  pygame.init()

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

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

  # 創(chuàng)建一個(gè)游戲窗口

  surface = pygame.display.set_mode((480, 652))

  # 加載背景圖片

  background = pygame.image.load('./img/background.png')

  # 調(diào)整連續(xù)按鍵事件生成時(shí)間

  pygame.key.set_repeat(50, 50)

  # 設(shè)置窗口標(biāo)題

  pygame.display.set_caption('飛機(jī)大戰(zhàn)')

  # 設(shè)置窗口圖標(biāo)

  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è)類,以及碰撞和控制兩個(gè)功能函數(shù)。另外,還有游戲啟動(dòng)界面和結(jié)束界面等函數(shù)。

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

 ?、倮L制背景圖片。

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

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

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

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

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

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

  ⑧更新游戲窗口。

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

  while True:

  surface.blit(background, (0, 0)) # 繪制背景圖片

  kongzhi(hero) # 控制玩家飛機(jī)

  hero.hero_display() # 繪制玩家飛機(jī)

  enemyplan.display() # 繪制敵機(jī)

  enemyplan.move() # 控制敵機(jī)的移動(dòng)

  impact(hero, enemyplan.biu_list) # 檢測(cè)玩家飛機(jī)與敵機(jī)發(fā)射子彈的碰撞情況

  impact(enemyplan, hero.biu_list) # 檢測(cè)敵機(jī)和玩家飛機(jī)發(fā)射子彈的碰撞情況

  pygame.display.update() # 更新游戲窗口

  以上就是相關(guān)Python培訓(xùn)教程,希望對(duì)大家有所幫助,如果你還有更多想要了解的Python培訓(xùn)教程以及疑問或者想要了解的,可以在線咨詢我們客服,有專業(yè)老師隨時(shí)為你服務(wù)。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
PHP數(shù)組具的特性有哪些?

一、有序集合PHP數(shù)組是一個(gè)有序的數(shù)據(jù)集合,它可以存儲(chǔ)多個(gè)值,并使用索引來訪問這些值。索引可以是數(shù)字或字符串,允許你以靈活的方式組織和訪...詳情>>

2023-10-13 23:46:55
C語言中定義與聲明的含義是什么?

一、定義的含義在C語言中,定義是指為變量、函數(shù)或類型分配存儲(chǔ)空間并指定其屬性和初始值的過程。定義的主要含義如下:分配存儲(chǔ)空間:定義一個(gè)...詳情>>

2023-10-13 23:32:41
APP開發(fā)中常用的開發(fā)語言都有什么?

一、JavaJava是一種廣泛使用的開發(fā)語言,尤其在Android應(yīng)用開發(fā)中得到了廣泛應(yīng)用。Java具有面向?qū)ο蟮奶匦?,可以?shí)現(xiàn)復(fù)雜的應(yīng)用邏輯和交互效果...詳情>>

2023-10-13 23:29:28
Python的自動(dòng)化測(cè)試框架有哪些?

一、unittestunittest是Python內(nèi)置的測(cè)試框架,它受到Java的JUnit框架的啟發(fā)。unittest提供了一個(gè)面向?qū)ο蟮木幊棠P?,允許開發(fā)人員編寫測(cè)試用...詳情>>

2023-10-13 23:06:20
Web前端開發(fā)工具有哪些?

一、代碼編輯器代碼編輯器是Web前端開發(fā)的基礎(chǔ)工具之一,用于編寫、編輯和修改計(jì)算機(jī)代碼。它通常支持多種編程語言,并提供了一些便捷的功能,...詳情>>

2023-10-13 22:58:11