连连看游戏的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
苏州高博软件技术职业学院学生毕业设计(论文)报告
系别计算机科学技术
专业计算机应用
班级1310计应YZ
姓名支峰
学号013321018
设计(论文)题目连连看游戏的设计与实现
指导教师贺雪梅
起迄日期2015年10月16日-2016年4月25日
连连看游戏的设计与实现
摘要本文用VisualC++来设计与实现简单的连连看游戏的基本功能,玩家可以在游戏区域中通过键盘控制来选取相同的两个物件,采用特定的消除规则对它们进行消除的操作,当游戏区域中的所有方块对都被消除后玩家即可胜利。本次课程设计对该游戏的算法以及游戏图案的绘制进行详细的介绍。运用连线相消的方法完成了连连看游戏。
关键词:VisualC++6.0;连连看;游戏;3D绘图
1 引言
1.1连连看游戏介绍
游戏“连连看”顾名思义就是找出相关联的东西,它来源于街机游戏《四川麻将》和《中国龙》,是给一堆图案中的相同图案进行配对的简单游戏,在2003年,一个叫做朱俊的网友将这种形式搬到了PC上,立刻成为办公一族的新宠,并迅速传遍了世界各地。饱受工作压力的人们没有太多的时间进行复杂的游戏,而对于这种动动鼠标就能过关的游戏情有独钟。之后村子的连连看风靡版,阿达的连连看奥运版,连连看反恐版,还有敏敏连连看,水晶连连看等遍地开花,造就了一个连连看的新世界。连连看游戏有多种地图样式和道具系统、大大加强了游戏的可玩性,是一款老少皆宜的休闲佳品。
1.2课程设计的目的
网络小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友,也可以到达跨省、跨市,甚至跨国间人们互相娱乐的目的。
另外也想通过本次课程设计将三年来所学的专业知识和其他方面的知识融入到实际应用中。
1.3主要问题
开始制作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的界面;如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后,判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断。
1.4课题实现技术的简要说明
Visual C++是一个功能强大的可视化软件开发工具,Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C++一直被认为是目前最好的软件开发工具之一,其在界面开发、执行速度、代码的移植性方面都有很强的优势。所以,实现本系统,VC++是一个相对较好的选择。
2 系统需求分析
整个游戏程序包括了进入记录,图片消去和过关结果三个阶段,在处理鼠标响应事件中伴随着3D绘图。程序通过调试运行,实现了设计目标,能够满足连连看游戏玩家的需要。
2.1 可行性分析
(1)技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。连连看系统的工作主要是在开发者和玩家之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络Internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
(2)社会可行性分析
社会可行性有时也称为操作可行性,主要论证新系统在玩家在游戏过程中的感受与反馈信息。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新使得游戏更加的易掌握。
2.2 功能需求分析
关于连连看的功能描述如下:运行游戏并进行初始化工作,将整个游戏区域分成纵向和横向扩展的若干个小方块,并且这些小方块是由多种动物图案成对地分布于游戏区域的不同位置。玩家可以通过选取相同的两个物件来对它们进行消除的操作,直到将游戏区域中的所有方块对都被消除后为胜利。
2.3 性能需求分析
(1)硬件环境
●处理器:Inter CR300或是更高。
●内存:128MB(建议196MB)。
●硬盘空间:20MB。
(2)软件环境
●操作系统:Windows 98 或是Windows 2000/Windows NT Server 4.0。
3 系统设计
3.1系统功能设计
连连看系统的设计流程图如图3.1所示。
图3.1 连连看游戏的设计流程图
3.2系统功能模块总设计
这个游戏的主要类是游戏模式类,类名为CLinkToLinkDlg 。这个类主要对包括图案方块的销毁判断,游戏胜利判断以及整个游戏用户交换功能的实现。它
游戏框架的搭建
菜单的制作
连线相消算法的设计
绘图界面的设计
连连看系统
的图如图3.2所示。
CLinkToLinkDlg
m_mem3DBkDC :CDC
m_mem3DBkBmp :Cbitmap
m_memAnimalDC :CDC
m_memAnimalBmp :Cbitmap
m_MemDC :CDC
m_memBitmap : Cbitmap
m_map : int
m_nRow : int
m_nCol : int
m_nX1 : int
m_nY1 : int
GameDraw(CDC * pDC) : void
StartNewGame() : void
IsLink(int x1,int y1,int x2,int y2) : BOOL
IsWin(void) : BOOL
X1_Link_X2(int x,int y1,int y2) : BOOL
Y1_Link_Y2(int x1,int x2,int y) : BOOL
OneCornerLink(int x1,int y1,int x2,int y2) : BOOL
TwoCornerLink(int x1,int y1,int x2,int y2) : BOOL
Ythrough(int x,int y,BOOL bAdd) : BOOL
Xthrough(int x,int y,BOOL bAdd) : BOOL
LineX(int x,int y1,int y2) : BOOL
LineY(int x1,int x2,int y) : BOOL
图3.2 游戏模式类图