计科在读分享自己做过的课题设计作业 有意可私信了解
目录
文章来源地址https://www.toymoban.com/news/detail-799207.html
文章来源:https://www.toymoban.com/news/detail-799207.html
第一章 引言 II
1.1 课题背景 1
1.2 目的和意义 1
1.3 国内外的发展现状 1
1.4 开发环境 1
第二章系统开发平台的阐述 2
2.1Python 之 pygame 2
2.2pygame 环境的要求 2
第三章总体设计 3
3.1 游戏流程概述 3
3.2 游戏总体设计 4
3.3 图片模块设计 4
3.4 音乐模块 4
第四章 详细设计与展示 5
4.1 所需要的库 5
4.2 定义 config.py 文件存储相关参数 5
4.3 游戏实现 5
4.3.1 游戏图形化界面 5
4.3.2 游戏的主要处理逻辑 13
第五章实验总结 15
致谢 15
参考文献 15
第一章 引言
1.1 课题背景
消消乐游戏是家喻户晓的益智类小游戏,不管是哪个年龄段都有它的爱好者, 随着社会的发展,生活节奏越来越快,人们的压力也越来越大,通过玩休闲益 智类游戏解压,成为忙碌的都市人们的不二选择。消消乐游戏就是其中很有代 表性的⼀种,它可以使人在休闲娱乐的同时锻炼记忆力、观察力。
1.2 目的和意义
选择这个德云消消乐作为课题,一方面是想学习和掌握Pygame 的课外知识,另 一方面可增加学习的趣味性和培养对此课程的兴趣。相对国外对 Pygame 研究的 热火朝天, 国内则显得比较冷淡,甚至商场上都没有⼀本完整地介绍 Pygame 框架的指导书,希望通过这次的游戏设计,使得更多人投入研究 Pygame 框架中。
1.3 国内外的发展现状
96,97 年的国产游戏产品是单机版的游戏,在当时的市场上虽然品质和档次不 如外来产品,但也占有一定的市场,例如《仙剑奇侠传》、《三国志》等系列 带有鲜明中国特色与气息的游戏在市场上掀起了一波高潮。1998 年联众与中国 游戏中心等老牌的游戏平台的推出标志着电脑游戏在中国的开荒与生根。但是 到了 1999 年在没有形成主流产品的情况下,政策不明朗,包括开发资金出现问 题等原因国产游戏开始走下坡路。一直到了 2000 年,网络游戏问世并且很快流 行起来我国的游戏行业才又渐渐的复苏,但是由于投入差距太大,起步晚等原 因与外国游戏相对而言并没有竞争力。
但如今,网络游戏走入盛世,成为一部分人休闲娱乐的主要行为。国产游戏渐
渐走入国际市场,而且基于网络的发展真正实现了网络全球化。
1.4 开发环境
Python 版本:3.9
相关模块 :Pygame 模块;
以及⼀些 Python自带的模块
环境搭建 :安装 Python;pip 安装需要的模块
第二章系统开发平台的阐述
2.1Python 之 pygame
Pygame 就是 Python 中使用它的一个库,是建立在 SDL 基础上,允许实时电子 游戏研发而无需被低级语言束缚。基于这样一个设想,所有需要的游戏功能和 理念都都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供, 如 Python。Pygame 作为 Python 下的⼀个开源框架,平台的兼容性非常的好, 目前市面上流行的操作系统都有很好的支持。
Pygame 环境搭建:利用pip 安装 Pygame
2.2pygame 环境的要求
Pygame 作为Python 下的一个开源框架,平台的兼容性非常的好, 目前市面上 流行的几乎所有的操作系统都有很好的支持,随意对平台要求不是很高。而且, 作为一个非编译的语言种类,对开发平台的硬件需求也不会有很大的要求,一 般的平台配置就满足开发需求。
第三章总体设计
3.1 游戏流程概述
游戏流程图如图 3.1 所示:
4.3 游戏实现
4.3.1 游戏图形化界面
先创建一个主窗口,代码如下:
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('德云消消乐')
效果如下:
在主窗口中画一个 8x8 的网格,代码如下:
def drawGrids(self):
for x in range(NUMGRID):
for y in range(NUMGRID):
rect=pygame.Rect((XMARGIN+x*GRIDSIZE,YMARGIN+y*GRIDSIZE, GRIDSIZE, GRIDSIZE))#网格位置和尺寸
self.drawBlock(rect, color=(0, 0, 255), size= 1)#网格的颜色大小 效果如下:
在网格中放入各种拼图块:
while True: #while 是循环语句,True 在 while 后面表示 while 开始循环的条件 self.all_gems = []#空的块
self.gems_group = pygame.sprite.Group()#定义块组
for x in range(NUMGRID):#range 函数的 for 循环;numgrid 是一个库,它 基于原子坐标、原子类型和基集的分子信息
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()将对象作为一个整体,为字典添 加元素,若添加的元素已在字典中中,则不执行任何操作
if self.isMatch()[0] == 0:
break #终止循环
效果如下:
其余部分见论文
到了这里,关于基于 python 的德云消消乐益智小游戏设计论文+源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!