国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python之路—200行Python代碼搞了個(gè)打飛機(jī)游戲!!

這篇具有很好參考價(jià)值的文章主要介紹了Python之路—200行Python代碼搞了個(gè)打飛機(jī)游戲??!。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

早就知道pygame模塊,就是沒怎么深入研究過,恰逢這周未沒約到妹子,只能自己在家玩自己啦,一時(shí)興起,花了幾個(gè)小時(shí)寫了個(gè)打飛機(jī)程序。

很有意思,跟大家分享下。

先看一下項(xiàng)目結(jié)構(gòu)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

"""

PlayPlane/

|-- bin/

|?? |-- main.py???????? 程序運(yùn)行主體程序

|-- config/

|?? |-- settings.py???? 程序配置(例如: 游戲背景音樂的加載等)

|-- material??????????? 程序素材放置(打飛機(jī)游戲素材放置)

????|-- ...

|-- src/??????????????? 程序主體模塊存放

|?? |-- __init__.py

|?? |-- bullet.py?????? 我方飛機(jī)發(fā)射子彈實(shí)現(xiàn)代碼存放

|?? |-- enemy.py??????? 敵方飛機(jī)實(shí)現(xiàn)代碼存放

|?? |-- plane.py??????? 我方飛機(jī)實(shí)現(xiàn)代碼存放

|-- manage.py?????????? 程序啟動文件

|-- README.md??????????

"""

再曬下項(xiàng)目成果圖

Python之路—200行Python代碼搞了個(gè)打飛機(jī)游戲?。? referrerpolicy=

?微信掃碼添加,備注 “飛機(jī)” 領(lǐng)取騰訊文檔-在線文檔https://docs.qq.com/doc/DU3NjWWxyc2ZURXll

實(shí)現(xiàn)步驟

一、首先在 config/settings.py 中進(jìn)行以下功能的實(shí)現(xiàn)

  • 游戲初始化
  • 游戲混音器初始化
  • 背景音樂初始化
  • 我方飛機(jī)掛了音樂
  • 敵方飛機(jī)掛了音樂
  • 子彈發(fā)射音樂
#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
import pygame
 
pygame.init()  # 游戲初始化
pygame.mixer.init()  # 混音器初始化
 
# 游戲背景音樂
pygame.mixer.music.load("material/sound/game_music.wav")
pygame.mixer.music.set_volume(0.2)
 
# 子彈發(fā)射音樂
bullet_sound = pygame.mixer.Sound("material/sound/bullet.wav")
bullet_sound.set_volume(0.2)
 
# 我方飛機(jī)掛了的音樂
me_down_sound = pygame.mixer.Sound("material/sound/game_over.wav")
me_down_sound.set_volume(0.2)
 
# 敵方飛機(jī)掛了的音樂
enemy1_down_sound = pygame.mixer.Sound("material/sound/enemy1_down.wav")
enemy1_down_sound.set_volume(0.2)
 
config/settings.py

注:游戲素材滑動到文章底部點(diǎn)擊鏈接即可下載  

二、小試牛刀

飛機(jī)和子彈都是可移動的,那么怎么實(shí)現(xiàn)讓它們動起來呢(我方飛機(jī)可以玩家進(jìn)行操控,敵機(jī)就是隨機(jī)性的出現(xiàn),子彈暫由我方飛機(jī)發(fā)射)。

在Pygame中,所有移動對象都可看做是一個(gè)精靈(sprite),精靈之間能夠進(jìn)行相互的交互通信,例如如何讓碰撞檢測更加精準(zhǔn)等等。

那么先讓我們先在屏幕上制作一個(gè)游戲板,根據(jù) settings.py 配置,并讓它有聲音播放,首先我們在 bin/main.py 中這么寫:

  我們可以直接運(yùn)行它,那么我們會看到以下畫面,并且還會有激情的聲音吆?。?!但是我們要將文件配置為絕對路徑才可以運(yùn)行,因?yàn)閯倓傇趕ettings中的加載的音樂文件為相對路徑。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
 
from config.settings import *
 
 
bg_size = 480, 852  # 初始化游戲背景大小(寬, 高)
screen = pygame.display.set_mode(bg_size)  # 設(shè)置背景對話框
pygame.display.set_caption("飛機(jī)大戰(zhàn)")  # 設(shè)置標(biāo)題
 
background = pygame.image.load(os.path.join(BASE_DIR, "material/image/background.png"))  # 加載背景圖片,并設(shè)置為不透明
 
 
def main():
    pygame.mixer.music.play(loops=-1)  # loops 對應(yīng)的值為 -1 則音樂會無限循環(huán)播放
 
    while True:
        # 繪制背景圖
        screen.blit(background, (0, 0))
 
        # 響應(yīng)用戶的操作(一定要有響應(yīng)的用戶操作)
        for event in pygame.event.get():
            if event.type == 12:  # 如果用戶按下屏幕上的關(guān)閉按鈕,觸發(fā)QUIT事件,程序退出
                pygame.quit()
                sys.exit()
 
        # 再而我們將背景圖像并輸出到屏幕上面
        pygame.display.flip()
 
if __name__ == '__main__':
    main()

?接下來呢,我們將要制作我方飛機(jī),敵方飛機(jī)和子彈如何讓它們展示在游戲畫板上,繼而讓它們變得可移動起來,請看代碼實(shí)現(xiàn)方案...

從游戲畫板上添加飛機(jī),首先我們應(yīng)怎樣在屏幕上輸出飛機(jī)???

上述講過,pygame中的 sprite(精靈)可使一張圖片或者一個(gè)靜態(tài)物體動起來,那么制作飛機(jī)需要考慮并做些什么呢?

  1. 飛機(jī)的初始位置
  2. 通過按鍵 上下左右 來調(diào)控飛機(jī)的位置移動
  3. 飛機(jī)只能呆在制作的游戲畫板中
  4. 飛機(jī)的速度
  5. 飛機(jī)死亡的加載
  6. 設(shè)定一個(gè)狀態(tài)標(biāo)識飛機(jī)的存活
  7. 讓飛機(jī)具有動態(tài)的噴氣式效果

那么如何實(shí)現(xiàn)以上的功能呢?接下來結(jié)合上述的示例代碼我們先將我方飛機(jī)繪制到畫板上方,并且我們通過按鍵 J 判定我方飛機(jī)的存活狀態(tài)為死亡,繪制飛機(jī)的死亡畫面并重置飛機(jī)文章來源地址http://www.zghlxwxcb.cn/news/detail-400406.html

"""
    創(chuàng)建飛機(jī)
    在pygame中, 所有可移動的對象均叫可看作一個(gè)精靈(sprite)
    該類并實(shí)現(xiàn)了碰撞方法 spritecollide
 
    我方飛機(jī)和敵方飛機(jī)指定掩

到了這里,關(guān)于Python之路—200行Python代碼搞了個(gè)打飛機(jī)游戲??!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python200行有趣小程序,python簡單小游戲代碼_python小程序200例

    python200行有趣小程序,python簡單小游戲代碼_python小程序200例

    本篇文章給大家談?wù)刾ython200行有趣小程序,以及python簡單小游戲代碼,希望對各位有所幫助,不要忘了收藏本站喔。 經(jīng)常聽到有朋友說,學(xué)習(xí)編程是一件非??菰餆o味的事情。其實(shí),大家有沒有認(rèn)真想過,可能是我們的學(xué)習(xí)方法不對? 比方說,你有沒有想過,可以通過打游

    2024年01月17日
    瀏覽(95)
  • 使用javafx,結(jié)合訊飛ai,搞了個(gè)ai聊天系統(tǒng)

    使用javafx,結(jié)合訊飛ai,搞了個(gè)ai聊天系統(tǒng)

    源代碼地址:nanshaws/liaotianAi: 用javafx搞一個(gè)簡單版ai對話 (github.com) 這個(gè)是我一個(gè)人寫的,還請各位點(diǎn)個(gè)免費(fèi)的start好嗎0.0 第一步:先在訊飛ai那邊獲取接入的api 點(diǎn)進(jìn)去,然后出現(xiàn)這個(gè)頁面: 沒有的話,就點(diǎn)擊免費(fèi)試用,有了的話,就點(diǎn)擊服務(wù)管理: 用v2.0的和用3的都行,不

    2024年02月05日
    瀏覽(18)
  • python200行有趣小程序,python簡單小游戲代碼

    python200行有趣小程序,python簡單小游戲代碼

    本篇文章給大家談?wù)刾ython200行有趣小程序,以及python簡單小游戲代碼,希望對各位有所幫助,不要忘了收藏本站喔。 經(jīng)常聽到有朋友說,學(xué)習(xí)編程是一件非??菰餆o味的事情。其實(shí),大家有沒有認(rèn)真想過,可能是我們的學(xué)習(xí)方法不對? 比方說,你有沒有想過,可以通過打游

    2024年02月04日
    瀏覽(92)
  • 搞了個(gè)Blazor工具站,域名一次性買了10年!

    大家好,我是沙漠盡頭的狼。 在 Dotnet9 上線在線小工具和小游戲后,服務(wù)器的壓力感覺挺大的,打開25個(gè)頁面,內(nèi)存占用170MB左右,CPU保持在60~70%,看來Server真不適合搞這類交互較多的程序(服務(wù)器配置:2核4G內(nèi)存),所以站長加急上線 Blazor Wasm 版本網(wǎng)站,便于大家直觀對比

    2024年02月10日
    瀏覽(17)
  • 有道云筆記也挺速度,也搞了個(gè)AI助手,能抗衡Notion AI?

    有道云筆記也挺速度,也搞了個(gè)AI助手,能抗衡Notion AI?

    小編平時(shí)做技術(shù)筆記的時(shí)候,經(jīng)常使用到的軟件就是 有道云筆記 ,最近無意間發(fā)現(xiàn),筆記編寫的頁面中,竟然集成了 AI助手 !網(wǎng)易有道可真是低調(diào)!畢竟最近AI圈大火,竟然沒有蹭一波熱度,直接把功能上了,這一波有點(diǎn)深藏功與名那味了。 同為筆記記錄軟件,最近大火的

    2024年02月08日
    瀏覽(20)
  • 微信小程序飛機(jī)大戰(zhàn)游戲步驟及代碼

    步驟: 1. 準(zhǔn)備游戲資源:準(zhǔn)備游戲所需的圖片、音效等資源。 2. 創(chuàng)建游戲場景:使用微信小程序的API創(chuàng)建游戲場景,可以使用wx.createCanvasContext()方法創(chuàng)建游戲場景。 3. 加載游戲資源:使用wx.loadImage()方法加載游戲所需的圖片資源,使用wx.playBackgroundAudio()方法加載游戲所需的

    2024年02月12日
    瀏覽(27)
  • python版《羊了個(gè)羊》游戲開發(fā)第一天

    python版《羊了個(gè)羊》游戲開發(fā)第一天

    Python小型項(xiàng)目實(shí)戰(zhàn)教學(xué)課《羊了個(gè)羊》 版本1.0:基本開發(fā) 課次 內(nèi)容 技術(shù) 第一天 基本游戲地圖數(shù)據(jù) 面向過程 第二天 鼠標(biāo)點(diǎn)擊和移動 面向?qū)ο?第三天 消除 設(shè)計(jì)模式:單例模式 第四天 完整游戲過程 架構(gòu):Model-View-ViewModel 第五天 多層重疊的方塊 數(shù)據(jù)結(jié)構(gòu) (計(jì)算機(jī)考研數(shù)據(jù)

    2024年02月13日
    瀏覽(16)
  • 實(shí)現(xiàn)用java做一個(gè)簡易版《羊了個(gè)羊》小游戲(附源代碼)

    實(shí)現(xiàn)用java做一個(gè)簡易版《羊了個(gè)羊》小游戲(附源代碼)

    該項(xiàng)目是跟著這個(gè)b站視頻一步一步寫出來的,初學(xué)java有些地方我看不是很明白,但是講解很仔細(xì),大家可以看原視頻,我沒有添加背景音樂和背景圖片,做出來的效果也勉勉強(qiáng)強(qiáng)。 代碼已經(jīng)上傳到github上了,大家可以去github上直接下載代碼,附上鏈接:點(diǎn)擊進(jìn)入github源碼鏈接

    2024年02月04日
    瀏覽(220)
  • 效果最接近《羊了個(gè)羊》(卡牌堆疊游戲)的開源代碼 微信小程序開源了

    效果最接近《羊了個(gè)羊》(卡牌堆疊游戲)的開源代碼 微信小程序開源了

    效果最接近《羊了個(gè)羊》(卡牌堆疊游戲)的開源代碼,有數(shù)據(jù)庫和關(guān)卡。 我寫的程序是指 卡牌堆疊游戲 ,效果與羊了個(gè)羊一致。本教程有已有兩個(gè)版本。 本來是想著Fork多一點(diǎn)的時(shí)候再開源的,沒有想到一個(gè)Fork都沒有。 現(xiàn)在是 微信小程序 版本。 我就不在這里吐槽微信小

    2024年02月09日
    瀏覽(19)
  • python——飛機(jī)大戰(zhàn)小游戲

    python——飛機(jī)大戰(zhàn)小游戲

    目錄 1、導(dǎo)入模塊 2、窗口操作 3、事件操作 4、長按事件 5、添加游戲背景 6、添加英雄飛機(jī) 7、獲取飛機(jī)的圖片矩形 8、基本游戲窗口 9、添加游戲窗口圖片 10、英雄飛機(jī)登場 11、英雄飛機(jī)裝備子彈并發(fā)射 1、enemy_plane 2、game_main 3、game_map 4、game_score 5、hero_plane 6、plane_bullet 先安

    2024年02月03日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包