- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
学生学号
Xxx
实验课成绩
学 生 实 验 报 告 书
实验课程名称
数据结构与算法综合实验
开课学院
计算机科学与技术学院
指导教师姓名
xx
学生姓名
xx
学生专业班级
xxxx
2015
--
2016
学年
第
2
学期
.
实验课程名称: 数据结构与算法综合实验
实验项目名称
连连看游戏综合实践
报告成绩
实验者
xxx
专业班级
xxxxx
组别
同组者
完成日期
年 月 日
第一部分:实验分析与设计(可加页)
一、实验目的和要求
1.目的
调研连连看游戏,了解连连看游戏的功能和规则等。
掌握集成开发工具。
掌握C++的基础编程。
了解MFC框架,包括MFC Dialog应用程序和GDI编程。
了解线性结构,重点掌握数组和栈操作,掌握数组的遍历、消子和胜负判断等算法。
了解企业软件开发过程,了解系统需求分析和设计,应用迭代开发思路进行项目开发。
养成良好的编程习惯和培养软件工程化思维,综合应用“C++编程、MFC Dialog、算法、线性结构”等知识,开发“连连看游戏”桌面应用程序,达到掌握和应用线性核心知识的目的。
2.要求
待开发的连连看游戏称为“欢乐连连看”,使用二维数组来保存游戏地图的数据,实现连连看的核心功能。欢乐连连看的功能有:主界面、开始游戏、消子、判断胜负、提示、重排、计时、游戏模式。
主界面
游戏主界面就是进行各项操作的入口。
开始游戏
玩家选择开始游戏模式,进入游戏后,选择开始游戏,系统根据设置的主题风格生成图片布局,以供玩家点击消除。
游戏地图大小为640*400,是一个16行乘10列的矩形,分成160个小正方形,存放160张图片,每张图片大小为40*40。
消子
对玩家选中的两张图片进行判断,判断是否符合消除规则。只有符合以下规则的图片对才能被消除:
一条直线连通
两条直线连通
三条直线连通
如果可以消除,从游戏地图中提示连接路线,然后消除这两张图片,并计算相应的积分。如果不能消除,则保持原来的游戏地图。
判断胜负
当游戏完成后,需要判断游戏胜负。不同模式下判断胜负的规则不同。
基本模式时,如果在五分钟内将游戏地图的所有图片都消除,则提示玩家胜利。
休闲模式时,如果游戏地图中所有图片都被消除,则提示玩家获胜。
提示
可以提示界面上能够消除的一对图片。
计时
设定一定时间来辅助游戏是否结束。
重排
根据随机数,重新排列地图上的图片。
游戏模式
游戏模式有:基本模式、休闲模式和关卡模式三种,可以根据是否定时等规则进行设置。
二、分析与设计
1.数据结构的设计
顶点存储
添加global.h文件,定义结构体tagVertex,用于保存游戏地图中一个点的行号、列号、值信息。
typedef struct tagVertex
{
int row;//行
int col;//列
int info;//信息类
}Vertex;
游戏地图存储结构
使用二位数组来保存连连看游戏地图,在给没一种图片一个编号,并将这些编号保存在二位数组中。
用户在屏幕上选择两张图片,对应为数组中的两组坐标。分别实现三个消子判断算法:一条直线连通、两条直线连通、三条直线连通,并使用者三个算法进项消子判断。若符合消子规则,就在屏幕上消除一对图片,并把数组对应元素清空。
游戏地图中图片种类和重复次数与游戏的级别汉难度有关。图片种类越多,重复次数越小,游戏难度越大,反之则越容易。
只有两张相同的图片才能消除。为保证游戏中的图片能够完全消掉,每种图片出现的次数一定是偶数,即2的倍数。
地图的大小与图片元素种类之间的关系
地图的行数*地图的列数=图片种类数*每种图片重复的次数。
地图数据的存储
用int类型的动态二位数组(int **m_pGameMap)存储地图中元素图片的编号。
获得某行某列对应的元素编号。
2.核心算法设计
随机开局算法
计算游戏中元素个数:行数*列数。
计算每种花色重复数:行数*列数/花色数。
判断(行数*列数%花色数)是否为0。如果不为0,则进行异常处理。
判断每一种花色的重复数能否被2整除,如果不能被二整除,则进行异常处理。
按从左到右,从上到下,将花色数填入游戏地图。
实现代码如下:
int nRepeatNum = nRows * nCols / nPicNums;
int count = 0;
for (int i = 0; inPicNums; i++)
{
for (int j = 0; j nRepeatNum; j++)
{
m_Map[count / nCols][count%nCols] = i;
count++;
}
}
由于生成的地图
您可能关注的文档
- 土工试验详细步骤.doc
- 《山东省建设工程费用项目组成及计算规则》.doc
- LTE基本原理与关键技术.doc
- 物流系统分析期末考试题及答案.doc
- 典型案例二教学团队.doc
- 项目管理系统使用说明书.doc
- 交安施工组织设计.doc
- 驻马店中兴区高丢包优化提升方案.doc
- 进销存管理系统数据库设计.doc
- 天津项目缓粘结预应力施工方案.doc
- DB32T3444 健康企业评估规范.pdf
- DBJ25-82-2000 甘肃省聚苯板外保温墙体设计与施工规程 甘肃省地方标准.pdf
- DB32T-核与辐射突发事件卫生应急处置技术规范 第3部分:现场流行病学调查及编制说明.pdf
- DB44T1430-2014 冷冻水产品流通冷链管理技术规范.pdf
- TCASME-监控系统安装与维护规范.pdf
- TCSAE-汽车远程升级(OTA)信息安全测试规范.pdf
- TJSSAE-智能网联汽车开放道路测试管理要求及编制说明.pdf
- TEERT-挥发性有机物污染治理设施工况自动监控技术规范.pdf
- TCASME-三跨连续节段梁悬浇施工技术规范.pdf
- DB36T-行政执法案卷评查规范编制说明.pdf
最近下载
- (完整版)初三化学方程式大全.pdf
- 卫健委临检中心 15项临床检验质量控制指标——解读与应用.pptx VIP
- GB/T 14165-2008_金属和合金 大气腐蚀试验 现场试验的一般要求.pdf
- NB∕T11502-2024光伏光热一体组件和空气源热泵联合热水系统通用技术条件.pdf
- 抖音粉丝群体数据分析报告.pptx
- 【国家标准】QBT 3826-1999 轻工产品金属镀层和化学处理层的耐腐蚀试验方法 中性盐雾试验(NSS)法.pdf
- 足部特效反射区疗法一览表 附足底穴位图.doc
- 按次收费合同5篇.docx VIP
- 棋类运动协会章程.docx
- 口腔科的2024年工作总结6篇.docx VIP
文档评论(0)