最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python小游戲16之炸彈人源碼

2022-12-08 18:10 作者:噓-臣妾做不到啊  | 我要投稿

0 前言

?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。


為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天要分享的是


?? 基于python的炸彈人小游戲設計與實現(xiàn)


??學長這里給一個題目綜合評分(每項滿分5分)


難度系數(shù):3分

工作量:3分

創(chuàng)新點:4分

1 課題背景

大家小時候一定在紅白機上玩過炸彈人這款小游戲吧,《炸彈人》是HUDSON出品的一款ACT類型游戲,經(jīng)典的第一作登陸在FC版本,游戲于1983年發(fā)行。游戲具體操作是一個機器人放置炸彈來炸死敵人,但也可以炸死自己,還有些增強威力與技能道具增加了游戲的可玩性。

今天我們用pygame做一個炸彈人小游戲,游戲規(guī)則如下:


玩家通過↑↓←→鍵控制角色zelda(綠色)行動,當玩家按下空格鍵時,則可以在當前位置放置炸彈。其他角色(dk和batman)則由電腦控制進行隨機行動。所有角色被炸彈產(chǎn)生的火焰灼燒時(包括自己放置的炸彈),都將損失一定生命值;所有角色吃到水果時,均可恢復一定數(shù)值的生命值。另外,墻可以阻止炸彈產(chǎn)生的火焰進一步擴散。


當我方角色生命值為0時,游戲失??;當電腦方所有角色生命值為0時,游戲勝利,進入下一關。

2 實現(xiàn)效果






3 Pygame介紹

簡介


Pygame是一系列專門為編寫電子游戲而設計的Python模塊(modules)。Pygame在已經(jīng)非常優(yōu)秀的SDL庫的基礎上增加了許多功能。這讓你能夠用Python語言編寫出豐富多彩的游戲程序。


Pygame可移植性高,幾乎能在任何平臺和操作系統(tǒng)上運行。


Pygame已經(jīng)被下載過數(shù)百萬次。


Pygame免費開源。它在LGPL許可證(Lesser General Public License,GNU寬通用公共許可證)下發(fā)行。使用Pygame,你可以創(chuàng)造出免費開源,可共享,或者商業(yè)化的游戲。詳情請見LGPL許可證。


優(yōu)點


  • 能夠輕松使用多核CPU(multi core CPUs) :如今雙核CPU很常用,8核CPU在桌面系統(tǒng)中也很便宜,而利用好多核系統(tǒng),能讓你在你的游戲中實現(xiàn)更多東西。特定的pygame函數(shù)能夠釋放令人生畏的python GIL(全局解釋器鎖),這幾乎是你用C語言才能做的事。


  • 核心函數(shù)用最優(yōu)化的C語言或匯編語言編寫:C語言代碼通常比Python代碼運行速度快10-20倍。而匯編語言編寫的代碼(assembly code)比Python甚至快到100多倍。


  • 安裝便捷:一般僅需包管理程序或二進制系統(tǒng)程序便能安裝。


  • 真正地可移植:支持Linux (主要發(fā)行版), Windows (95, 98, ME, 2000, XP, Vista, 64-bit Windows,), Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX等操作系統(tǒng).也能支持AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS and OS/2,但是還沒有受到官方認可。你也可以在手持設備,游戲控制臺, One Laptop Per Child (OLPC) computer項目的電腦等設備中使用pygame.


  • 用法簡單:無論是小孩子還是大人都能學會用pygame來制作射擊類游戲。


  • 很多Pygame游戲已發(fā)行:其中包括很多游戲大賽入圍作品、非常受歡迎的開源可分享的游戲。


  • 由你來控制主循環(huán):由你來調用pygame的函數(shù),pygame的函數(shù)并不需要調用你的函數(shù)。當你同時還在使用其他庫來編寫各種各種的程序時,這能夠為你提供極大的掌控權。


  • 不需要GUI就能使用所有函數(shù):僅在命令行中,你就可以使用pygame的某些函數(shù)來處理圖片,獲取游戲桿輸入,播放音樂……


  • 對bug反應迅速:很多bug在被上報的1小時內(nèi)就能被我們修復。雖然有時候我們確實會卡在某一個bug上很久,但大多數(shù)時候我們都是很不錯的bug修復者。如今bug的上報已經(jīng)很少了,因為許多bug早已被我們修復。


  • 代碼量少:pygame并沒有數(shù)以萬計的也許你永遠用不到的冗雜代碼。pygame的核心代碼一直保持著簡潔特點,其他附加物諸如GUI庫等,都是在核心代碼之外單獨設計研發(fā)的。


  • 模塊化:你可以單獨使用pygame的某個模塊。想要換著使用一個別的聲音處理庫?沒問題。pygame的很多核心模塊支持獨立初始化與使用。


  • 最小開發(fā)框架


代碼執(zhí)行流程

4 具體實現(xiàn)

4.1 環(huán)境配置

Python版本:3.6.4

相關模塊:

pygame模塊;

以及一些Python自帶的模塊。

4.2 創(chuàng)建游戲類

首先,我們來明確一下該游戲包含哪些游戲精靈類:


炸彈類

角色類

墻類

背景類

水果類

4.3 墻和背景類

墻類和背景類很好定義,只需要可以導入圖片,然后把圖片綁定到指定位置就行了:

4.4 水果類

水果類定義其實也差不多,但是不同的水果可以幫助角色恢復不同數(shù)值的生命值:

4.3 角色類

炸彈類和角色類的定義就稍稍復雜一些了。角色類需要根據(jù)玩家或者電腦的指示上下左右移動,同時可以在自己的位置上產(chǎn)生炸彈以及吃水果之后恢復一定數(shù)值的生命值:

角色類定義

角色類移動

AI電腦隨機移動

生成炸彈、吃水果、角色朝向

4.4 炸彈類

定義

爆炸效果

爆炸區(qū)域

4.5 地圖設計

通過一個地圖解析類來解析.map文件,這樣每次切換關卡時只需要重新導入一個新的.map文件就行了,同時這樣也方便游戲后續(xù)進行擴展:

4.6 游戲主循環(huán)

最后,做完準備工作,只差游戲主循環(huán)了。

邏輯很簡單,就是初始化之后導入關卡地圖開始游戲,結束一關之后,判斷是游戲勝利還是游戲失敗,游戲勝利的話就進入下一關,否則就退出主循環(huán),讓玩家選擇是否重新開始游戲。

最近很多粉絲私信獲取Python30個小游戲源碼,但是因為網(wǎng)盤的原因,總是被和諧,所以之后我會在專欄一一公開分享,需要練習的小伙伴記得持續(xù)關注哦~

需要Python學習視頻以及電子書的寶子們,可以看UP主主頁的介紹獲取哦~


Python小游戲16之炸彈人源碼的評論 (共 條)

分享到微博請遵守國家法律
虎林市| 南澳县| 开原市| 水城县| 略阳县| 浦县| 云梦县| 南安市| 修水县| 永登县| 铜陵市| 天水市| 仁化县| 北辰区| 兴城市| 泽普县| 什邡市| 乌兰浩特市| 东海县| 剑河县| 汉寿县| 贵定县| 四子王旗| 永靖县| 涞水县| 普兰店市| 崇礼县| 维西| 洪江市| 金堂县| 萝北县| 县级市| 汉川市| 游戏| 海丰县| 玉山县| 军事| 密山市| 永福县| 昆明市| 五河县|