- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
连连看c语言课程设计报告bfexydrm
目录
问题描述
连连看是一款简单有趣的小游戏,曾经风靡一时,玩家要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手,游戏速度节奏快,画面清晰可爱,适合细心的玩家。游戏胜利条件的判定:将棋盘上面的格子全部消除掉;失败的判定:规定的时间内格子没有消除。
问题分析
连连看需要解决的问题包括:
(1)整个游戏界面和各种图案的图形显示;
(2)如何判断鼠标所点的两个图像能否相消;
(3)如何判断是否消除完全;
(4)如何判断游戏的结束及如何终止游戏;
(5)游戏难度的设计和得分规则
游戏总的流程可以描述如下:首先出现游戏界面,一幅由10*6的小图片的构成的画面,玩家需要点击 2 个相同图案的对子,其连接线不多于 3 根直线,也就是说连接相同图案时,直线只能有两个折点,就可以成功将对子消除。
此外,需要重点考虑的是游戏面板和各种形状的方块的数据结构表示。格子面板可以用一个二维数组来表示。
开发工具的介绍
【 VS2008 】
VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。VS的开发界面分为两个版本:整合模式和孤立模式,分别对基于语言的开发和基于特别工具的开发作了优化。
【 EasyX 】
EasyX 是针对 C++ 的图形库,可以帮助 C 语言初学者快速上手图形和游戏编程。
许多学编程的都是从 C 语言开始入门的,而目前的现状是:
1. 有些学校以 Turbo C 为环境讲 C 语言,只是 Turbo C 的环境实在太老了,复制粘贴都很不方便。
2. 有些学校直接拿 VC 来讲 C 语言,因为 VC 的编辑和调试环境都很优秀,并且 VC 有适合教学的免费版本。可惜在 VC 下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用 TC,很是无奈。
3. 还有计算机图形学,这门课程的重点是绘图算法,而不是 Windows 编程。所以,许多老师不得不用 TC 教学,因为 Windows 绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的 OpenGL,可是门槛依然很高。
所以,于是就有了EasyX 库方便的开发平台和 TC 简单的绘图功能。
设计
【程序总体结构】:
进入主函数
进入主函数
Init()函数初始图形
初始化进度条
1
读取鼠标状态
WM_MOUSEMOVE
WM_LBUTTONDOWN
Break;
leftbottondown()
方块全消除
进度条到头
插入成功图片
插入失败图片
if
if
【界面设计】:
界面的设计通过插入背景图片 beijing.bmp , 在对每一个格子的赋图片,通过getimage( )从board.bmp中截下所需要的图,再利用putimage( )放置每一个小图。
具体算法:
loadimage(beijing,D:\\llk\\beijing.bmp);//载入背景图
putimage(0,0,beijing);//放置背景图
for(int i = 0 ;i ROW; i ++)
for(int j = 0 ;j COL ; j++)
{
idy = i * 54 + board_Y ,idx = j * 48+ board_X;
putimage(idx,idy,image[board[i + 1][j + 1]]); //根据赋的值放置每一个格子图
}
beijing.bmp
board.bmp
【重要数据的数据结构设计】:
struct BOARD //点击的格子信息
{
int tx,ty; //格子坐标
int xx,yy; //屏幕坐标
int data; //图片类型
};
定义BOARD型的结构体,里面包含的是鼠标点击以后,所读取的点击点在屏幕里的坐标(xx,yy)
在二维数组里的坐标board[tx][ty],以及在给每一个二维数组元素赋的值data(用来判断两个格子是否相等,相等以后赋值为0,以便判断是否存在格子,为之后的寻找路径铺垫)
int board[ROW + 2][COL + 2];
二维数组,用来记录格子的信息,其值是判定是
您可能关注的文档
- 课程设计论文基于单片机的淋浴水温控制系统的设计cywl0ezw.doc
- 课程设计论文基于eda技术的航空电源逆变控制电路设计fumr_nm5.doc
- 课程设计论文楼道声控灯4un4gmdo.doc
- 课程设计论文汽车尾灯控制器的电路设计ejdfybed.doc
- 课程设计论文基于西门子plcs7200的自动化电镀生产线控制设计ubxq8i2y.doc
- 课程设计论文基于单片机的水温控制系统的设计ulmlfsaq.doc
- 课程设计说明书盖塞塑料膜79nvp1ki.doc
- 课程设计说明书mltp3kij.doc
- 课程设计财务管理万科watatob5.doc
- 课程设计说明书液位控制器设计dosbmilz.doc
最近下载
- ACS800 07传动(500到2800kW)硬件手册(中文).pdf VIP
- axxon轴芯新版机台点胶机编程及操作说明.pptx VIP
- ACS880 替换 ACS800 技术指导.pdf VIP
- 公路交通情况统计调查制度 2021 .pdf VIP
- acs800调试程序.docx VIP
- ACS800ACS800 600调试指导与故障分析.ppt VIP
- ACS800变频器说明书ACS800变频器说明书.doc VIP
- JZ-25-01A 美的大多联技术手册(25.6).pdf VIP
- 货拉拉租车合同范本.docx VIP
- en-ACS800-304-704整流单元硬件手册-res.pdf VIP
文档评论(0)