計(jì)科在讀分享自己做過(guò)的課題設(shè)計(jì)作業(yè) 有意可私信了解
目錄
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-799207.html
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-799207.html
第一章?引言 II
1.1?課題背景 1
1.2 目的和意義 1
1.3 國(guó)內(nèi)外的發(fā)展現(xiàn)狀 1
1.4?開(kāi)發(fā)環(huán)境 1
第二章系統(tǒng)開(kāi)發(fā)平臺(tái)的闡述? 2
2.1Python?之 pygame? 2
2.2pygame?環(huán)境的要求 2
第三章總體設(shè)計(jì)? 3
3.1?游戲流程概述 3
3.2?游戲總體設(shè)計(jì) 4
3.3?圖片模塊設(shè)計(jì) 4
3.4 音樂(lè)模塊 4
第四章?詳細(xì)設(shè)計(jì)與展示? 5
4.1 所需要的庫(kù) 5
4.2 定義 config.py?文件存儲(chǔ)相關(guān)參數(shù) 5
4.3 游戲?qū)崿F(xiàn) 5
4.3.1 游戲圖形化界面 5
4.3.2 游戲的主要處理邏輯 ?13
第五章實(shí)驗(yàn)總結(jié)? 15
?
?
?
致謝? 15
參考文獻(xiàn)? 15
第一章?引言
?
?
1.1?課題背景
消消樂(lè)游戲是家喻戶(hù)曉的益智類(lèi)小游戲,不管是哪個(gè)年齡段都有它的愛(ài)好者,?隨著社會(huì)的發(fā)展,生活節(jié)奏越來(lái)越快,人們的壓力也越來(lái)越大,通過(guò)玩休閑益?智類(lèi)游戲解壓,成為忙碌的都市人們的不二選擇。消消樂(lè)游戲就是其中很有代?表性的?種,它可以使人在休閑娛樂(lè)的同時(shí)鍛煉記憶力、觀(guān)察力。
1.2?目的和意義
選擇這個(gè)德云消消樂(lè)作為課題,一方面是想學(xué)習(xí)和掌握Pygame?的課外知識(shí),另?一方面可增加學(xué)習(xí)的趣味性和培養(yǎng)對(duì)此課程的興趣。相對(duì)國(guó)外對(duì) Pygame?研究的 熱火朝天, 國(guó)內(nèi)則顯得比較冷淡,甚至商場(chǎng)上都沒(méi)有?本完整地介紹 Pygame 框架的指導(dǎo)書(shū),希望通過(guò)這次的游戲設(shè)計(jì),使得更多人投入研究 Pygame 框架中。
1.3?國(guó)內(nèi)外的發(fā)展現(xiàn)狀
96,97 年的國(guó)產(chǎn)游戲產(chǎn)品是單機(jī)版的游戲,在當(dāng)時(shí)的市場(chǎng)上雖然品質(zhì)和檔次不?如外來(lái)產(chǎn)品,但也占有一定的市場(chǎng),例如《仙劍奇?zhèn)b傳》、《三國(guó)志》等系列?帶有鮮明中國(guó)特色與氣息的游戲在市場(chǎng)上掀起了一波高潮。1998 年聯(lián)眾與中國(guó)?游戲中心等老牌的游戲平臺(tái)的推出標(biāo)志著電腦游戲在中國(guó)的開(kāi)荒與生根。但是?到了?1999 年在沒(méi)有形成主流產(chǎn)品的情況下,政策不明朗,包括開(kāi)發(fā)資金出現(xiàn)問(wèn)?題等原因國(guó)產(chǎn)游戲開(kāi)始走下坡路。一直到了 2000 年,網(wǎng)絡(luò)游戲問(wèn)世并且很快流?行起來(lái)我國(guó)的游戲行業(yè)才又漸漸的復(fù)蘇,但是由于投入差距太大,起步晚等原?因與外國(guó)游戲相對(duì)而言并沒(méi)有競(jìng)爭(zhēng)力。
但如今,網(wǎng)絡(luò)游戲走入盛世,成為一部分人休閑娛樂(lè)的主要行為。國(guó)產(chǎn)游戲漸
漸走入國(guó)際市場(chǎng),而且基于網(wǎng)絡(luò)的發(fā)展真正實(shí)現(xiàn)了網(wǎng)絡(luò)全球化。
1.4?開(kāi)發(fā)環(huán)境
Python?版本:3.9
相關(guān)模塊 :Pygame?模塊;
以及?些 Python自帶的模塊
環(huán)境搭建 :安裝 Python;pip?安裝需要的模塊
?
?
?
第二章系統(tǒng)開(kāi)發(fā)平臺(tái)的闡述
2.1Python?之?pygame
?
Pygame?就是?Python?中使用它的一個(gè)庫(kù),是建立在 SDL?基礎(chǔ)上,允許實(shí)時(shí)電子?游戲研發(fā)而無(wú)需被低級(jí)語(yǔ)言束縛?;谶@樣一個(gè)設(shè)想,所有需要的游戲功能和?理念都都完全簡(jiǎn)化為游戲邏輯本身,所有的資源結(jié)構(gòu)都可以由高級(jí)語(yǔ)言提供,?如 Python。Pygame?作為 Python?下的?個(gè)開(kāi)源框架,平臺(tái)的兼容性非常的好,?目前市面上流行的操作系統(tǒng)都有很好的支持。
Pygame?環(huán)境搭建:利用pip?安裝 Pygame
?
2.2pygame?環(huán)境的要求
Pygame?作為Python?下的一個(gè)開(kāi)源框架,平臺(tái)的兼容性非常的好, ?目前市面上?流行的幾乎所有的操作系統(tǒng)都有很好的支持,隨意對(duì)平臺(tái)要求不是很高。而且,?作為一個(gè)非編譯的語(yǔ)言種類(lèi),對(duì)開(kāi)發(fā)平臺(tái)的硬件需求也不會(huì)有很大的要求,一?般的平臺(tái)配置就滿(mǎn)足開(kāi)發(fā)需求。
第三章總體設(shè)計(jì)
3.1?游戲流程概述
游戲流程圖如圖 3.1 所示:
4.3?游戲?qū)崿F(xiàn)
4.3.1?游戲圖形化界面
?
先創(chuàng)建一個(gè)主窗口,代碼如下:
pygame.init()
screen?= pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('德云消消樂(lè)')
效果如下:
?
?
在主窗口中畫(huà)一個(gè) 8x8 的網(wǎng)格,代碼如下:
def?drawGrids(self):
for?x?in?range(NUMGRID):
for?y?in?range(NUMGRID):
rect=pygame.Rect((XMARGIN+x*GRIDSIZE,YMARGIN+y*GRIDSIZE,?GRIDSIZE,?GRIDSIZE))#網(wǎng)格位置和尺寸
self.drawBlock(rect, color=(0, 0, 255), size= 1)#網(wǎng)格的顏色大小?效果如下:
?
?
在網(wǎng)格中放入各種拼圖塊:
while?True: #while?是循環(huán)語(yǔ)句,True?在 while?后面表示 while?開(kāi)始循環(huán)的條件?self.all_gems?= []#空的塊
self.gems_group?= pygame.sprite.Group()#定義塊組
for?x?in?range(NUMGRID):#range?函數(shù)的 for?循環(huán);numgrid?是一個(gè)庫(kù),它?基于原子坐標(biāo)、原子類(lèi)型和基集的分子信息
self.all_gems.append([])#append?添加到列表中
for?y?in?range(NUMGRID):
gem=gemSprite(img_path=random.choice(self.gem_imgs),?size=(GRIDSIZE,GRIDSIZE),
position=[XMARGIN+x*GRIDSIZE,YMARGIN+y*GRIDSIZ
E-NUMGRID*GRIDSIZE],
downlen=NUMGRID*GRIDSIZE)
?
?
?
?
self.all_gems[x].append(gem)
self.gems_group.add(gem)#.add()將對(duì)象作為一個(gè)整體,為字典添?加元素,若添加的元素已在字典中中,則不執(zhí)行任何操作
if?self.isMatch()[0] == 0:
break?#終止循環(huán)
效果如下:
其余部分見(jiàn)論文?
?
?
?
到了這里,關(guān)于基于 python 的德云消消樂(lè)益智小游戲設(shè)計(jì)論文+源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!