0 項目簡介
?? Hi,各位同學好呀,這里是L學長!
??今天向大家分享一個今年(2022)最新完成的畢業(yè)設計項目作品
python小游戲畢設 吃豆人小游戲設計與實現(xiàn) (源碼)
?? 學長根據(jù)實現(xiàn)的難度和等級對項目進行評分(最低0分,滿分5分)
-
難度系數(shù):3分
-
工作量:3分
-
創(chuàng)新點:4分
-
項目獲取:
https://gitee.com/sinonfin/L-javaWebSha/tree/master文章來源地址http://www.zghlxwxcb.cn/news/detail-497820.html
1 游戲介紹
吃豆人是電子游戲歷史上的經典街機游戲,由Namco公司的巖谷徹設計并由Midway Games在1980年發(fā)行。Pac-Man被認為是80年代最經典的街機游戲之一,游戲的主角小精靈的形象甚至被作為一種大眾文化符號,或是此產業(yè)的代表形象。它的開發(fā)商Namco也把這個形象作為其吉祥物和公司的標幟,一直沿用至今。
該游戲的背景以黑色為主。畫面中,“Google”6個字母組成回廊似的迷宮畫面,四個顏色分別為紅、黃、藍、綠的鬼面符號在迷宮中穿梭,似乎在尋找一個半開半合的黃色圓圈符號。當記者按動鍵盤上的方位鍵時,發(fā)現(xiàn)該黃色圓圈符號可以行走,并且可以吞吃迷宮路徑上的小黃豆,但遇到鬼面符號時就要被吃掉。
今天我們用pygame做一個吃豆人小游戲,游戲規(guī)則如下:
玩家通過↑↓←→鍵控制游戲的主角吃豆人吃掉藏在迷宮內的所有豆子,并且不能被鬼魂抓到。
若能順利吃完迷宮內的所有豆子并且不被鬼魂抓到,則游戲勝利,否則游戲失敗。
2 實現(xiàn)效果
3 Pygame介紹
簡介
Pygame是一系列專門為編寫電子游戲而設計的Python模塊(modules)。Pygame在已經非常優(yōu)秀的SDL庫的基礎上增加了許多功能。這讓你能夠用Python語言編寫出豐富多彩的游戲程序。
Pygame可移植性高,幾乎能在任何平臺和操作系統(tǒng)上運行。
Pygame已經被下載過數(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小時內就能被我們修復。雖然有時候我們確實會卡在某一個bug上很久,但大多數(shù)時候我們都是很不錯的bug修復者。如今bug的上報已經很少了,因為許多bug早已被我們修復。
-
代碼量少:pygame并沒有數(shù)以萬計的也許你永遠用不到的冗雜代碼。pygame的核心代碼一直保持著簡潔特點,其他附加物諸如GUI庫等,都是在核心代碼之外單獨設計研發(fā)的。
-
模塊化:你可以單獨使用pygame的某個模塊。想要換著使用一個別的聲音處理庫?沒問題。pygame的很多核心模塊支持獨立初始化與使用。
最小開發(fā)框架
import pygame,sys #sys是python的標準庫,提供Python運行時環(huán)境變量的操控
pygame.init() #內部各功能模塊進行初始化創(chuàng)建及變量設置,默認調用
size = width,height = 800,600 #設置游戲窗口大小,分別是寬度和高度
screen = pygame.display.set_mode(size) #初始化顯示窗口
pygame.display.set_caption("小游戲程序") #設置顯示窗口的標題內容,是一個字符串類型
while True: #無限循環(huán),直到Python運行時退出結束
for event in pygame.event.get(): #從Pygame的事件隊列中取出事件,并從隊列中刪除該事件
if event.type == pygame.QUIT: #獲得事件類型,并逐類響應
sys.exit() #用于退出結束游戲并退出
pygame.display.update() #對顯示窗口進行更新,默認窗口全部重繪
代碼執(zhí)行流程
4 原理和實現(xiàn)
4.1 環(huán)境配置
- Python版本:3.6.4
- 相關模塊:
- pygame模塊;
- 以及一些Python自帶的模塊。
4.3 創(chuàng)建游戲類
首先,讓我們先來明確一下該游戲需要哪些游戲精靈類。
墻類
食物類(即豆豆)
角色類
角色類包括吃豆人和鬼魂,鬼魂由電腦控制其運動軌跡,吃豆人由玩家控制其運動軌跡。
顯然,其均需具備更新角色位置和改變角色運動方向的能力,其源代碼如下:
4.3 游戲地圖
利用定義的游戲精靈類,我們就可以開始設計游戲地圖了。由于時間有限,我只寫了一個關卡的游戲地圖,有興趣的小伙伴可以在此基礎上進行擴展(在我的源代碼基礎上進行擴展是很方便滴~)。游戲地圖的設計包括以下四方面內容:
創(chuàng)建墻
創(chuàng)建門(一開始關幽靈用的)
創(chuàng)建角色
創(chuàng)建食物
因為食物不能和墻、門以及角色的位置重疊,所以為了方便設計游戲地圖,要先創(chuàng)建完墻、門以及角色后再創(chuàng)建食物:
4.4 游戲主循環(huán)
初始化
定義主函數(shù)
其中startLevelGame函數(shù)用于開始某一關游戲,其源代碼如下:
showText函數(shù)用于在游戲結束或關卡切換時在游戲界面中顯示提示性文字,其源代碼如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-497820.html
5 最后
項目獲取:
https://gitee.com/sinonfin/L-javaWebSha/tree/master
到了這里,關于python小游戲畢設 吃豆人小游戲設計與實現(xiàn) (源碼)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!