俄罗斯方块游戏系统设计(含程序).doc
《俄罗斯方块游戏系统设计(含程序).doc》由会员分享,可在线阅读,更多相关《俄罗斯方块游戏系统设计(含程序).doc(41页珍藏版)》请在咨信网上搜索。
1、 毕业设计(论文)正文题 目俄罗斯方块游戏专 业班 级姓 名学 号指导教师职 称俄罗斯方块游戏摘要: 在现代信息高速发展的时代,电子游戏已经深入了人们的日常生活,成为了老少咸宜的娱乐方式,但是游戏设计结合了日新月异的技术,在一个产品中整合了复杂的艺术,设计,声音和软件,所以并不是人人皆知,直到今天,在中国从事游戏设计的人仍然很少,但是游戏行业的发展之快,远超如汽车,家电等传统行业,也正因为如此,游戏人才的教育培养远落后于行业的发展。 俄罗斯方块是一个老少咸宜的小游戏,它实现有四个正方形的色块组成,然后存储于一个数组的四个元素中,计算机随机产生七种不同类型的方块,根据计算机时钟控制它在一定的时间
2、不停的产生,用户根据键盘的四个方向键进行向左,向右,向下,翻转操作。然后程序根据这七种方块折叠成各种不同的类型。 论文描述了游戏开发的背景,意义,算法分析,功能实现,功能测试。以C+为开发语言进行设计与实现。关键词:电子游戏,算法,C+,测试The Russian square piece Abstract : In the era of high-speed development of electronic of information, computer game has enter peoples daily life, become an amusement adapt to old
3、 and young. But game design is a combination of fast-moving technology ,the complexity of integrating design,art,audio and software into a single production,so this thechnology isnt known by everyone .up-to-date,there are few people work at game design all the same,whereas,thedevelopment of game ind
4、ustry more faster than traditional industry as home appliances and automobile,by the reason of this situation,the education and training of person with ablity of game design drop behind the development of game industry. The Russian square piece is a get-away drama with all proper old young ,it carry
5、 out to be constitute by four pieces of colours of exact square piece ,then save in one four chemical elements of the piece set ,random creation dissimilarity of calculator seven the square piece of the category type ,control it according to the calculator clock in certain time continuously creation
6、 , the customer is inside out according to four directions key control of the keyboard ,to left ,rightwards and get down ,(the realization of the control key is to be carry out by the event handing of the direction key of the keyboard) Then the procedure pileds according to these seven kinds of squa
7、re pieces various different model. The thesis has described the game history ,has developed this game history ,has developed this game environment, development significance of game .Knowledge abiding by a software engineering ,definition begins from software problem ,proceed to carry out feasibility
8、 study ,need analysis ,essentials design,the at last has carried out a testing on the software engineering knowledge hierarchy .The computer games design and practice are designed o eclipse developing platform with C+ developing instrument ,under Microsoft Windows XP system this time.Key Words: elec
9、tronic game calculate way C+ test目 录1引言11.1课题背景11.2毕设意义22需求与算法分析32.1需求分析32.1.1 游戏需求32.1.2游戏界面需求42.1.3 游戏形状(方块)需求42.2算法分析52.2.1定义方块的数据结构52.2.2俄罗斯方块流程53系统功能实现73.1产生主窗口73.2定义俄罗斯方块数据结构83.3游戏的主逻辑93.4销行功能实现113.5中断操作流程的实现133.6变形的实现153.7 游戏区域绘图的实现163.8 游戏方块绘制203.9 烟花燃放功能224功能测试244.1测试环境244.2图像功能测试244.3销行和计分
10、功能测试274.4速度功能测试285总结29参考文献30致谢31装订线 毕业设计俄罗斯方块的程序设计1引言计算机游戏产业在随着网络的发展有了长足的发展。游戏最早起源于纯文字的交互游戏MUD,MUD是英文Multi-user Dungeons的缩写。纯文字交互,顾名思义,是一纯文字的形式来进行游戏。即,所有的场景描述、物品的样子、所有人的行动、时间的描述都是用文字的方式表达的。总之,文字MUD是一个很需要想象力的游戏形式,需要从文字转化成玩家自己脑海中的现实场景。随着电子元器件的发展,电子产品迅速发展。掌上游戏机和电视游戏机在80年代和90年代风靡一时,此时由苏联人Alex Pajitnov制作
11、的游戏俄罗斯方块在掌上游戏机和电视游戏机上流行,其造成的轰动和经济价值成为游戏史上的大事。所以本文通过用C+实现俄罗斯方块学习游戏的整个设计和测试过程,学习用基于Windows的游戏程序设计。1.1课题背景 俄罗斯方块是个老幼皆宜的小游戏,它实现由四块正方形的色块组成,然后存储在一个数组的四个元素中,计算机随机产生不同七种类型的方块,根据计算机时钟控制它在一定的时间不停的产生,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,(控制键的实现是由键盘的方向键的消息函数实现)。然后程序根据这七种方块堆叠成各种不同的模型。基于Windows的游戏设计有很多方式,如基于java跨平台的设计,基于
12、.net平台的设计和基于MFC的设计,三种设计各有优缺。基于java的设计能够充分运用java跨平台的特性,便于移植,可以做到一次代码在不同环境下的运行,从而大大提高可移植性,便于在移动设备上运行,但是基于java的设计由于运行在虚拟机上,效率比较低。基于.net平台的设计可以利用.net平台提高的接口大大简化设计过程,然而其通用性不好,需要.net平台支持,在执行效率上也不如MFC程序。基于MFC的程序设计具有执行高效的特点,跟windows的契合比较好,但不具有跨平台能力。 相比三种设计方案,为了能够在Windows平台上以更好的性能运行,本文采用VC+基于MFC的设计,来完成俄罗斯方块的
13、游戏。 1.2毕设意义此次毕设通过用C+设计与实现俄罗斯方块游戏。包括系统的需求分析;系统总框图及每个模块的设计分析;MFC应用程序架构;框架的扩展;算法的设计与实现;游戏的内部实现;游戏区域绘图的实现;系统存在的问题及错误处理;以及游戏的测试和改进。通过此次毕业设计,我对软件设计的过程有了清晰的认识,通过编写游戏的各个方面工作学习了设计思想,程序架构,数据结构和算法,同时也对windows程序设计特别是基于MFC的程序设计有了直观的认识。通过游戏的测试学习到了常用的测试过程,测试方法。2需求与算法分析2.1需求分析2.1.1 游戏需求功能性需求如下:随机给出不同的形状(长条形、Z字形、反Z形
14、、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,记分,若同时消去两行以上则会放烟花来庆祝,游戏可以设置难度,难度主要由方块的下降速度决定,下降速度越大难度越大,若在游戏中各形状填满了给定区域,为输者。如下表(表2.1)为游戏功能性需求表。功能 简介 顺时针旋转顺时针旋转转块逆时针旋转逆时针旋转转块绘制转块指定画板上绘制转块擦除矩形指定画板上擦除矩形右移动右移动转块左移动左移动转块下移动下移动转块丢下转块在画板上丢下转块燃放烟花在面板内根据一次得分多少燃放烟花计分根据用户消去的行数计分表2.1示例作为玩家,玩家可以控制难度,查看帮助等,对于操作性的需求如下: 玩家可以自己
15、来控制方块下落的速度。 玩家可以自己来控制游戏的难度。 玩家可以看到游戏的积分。 对本游戏有帮助说明和作者介绍等2.1.2游戏界面需求良好的用户界面,有提示显示和分数显示。让方块在一定的区域内运动和变形,该区域用一种颜色表明,即用一种颜色作为背景,最好设为黑色。还需用另一种颜色把黑色围起来,宽度适中,要实现美感。将整体界面分为三部分:左侧半部分用来存放俄罗斯方块,是游戏的活动区,用户操作的图形变化在这个主界面区完成。右上侧部分显示下一次要产生的俄罗斯方块形状,以便用户预先知道,增加游戏的可玩性。右侧下半部分用来显示用户的分数和当前等级,以便让用户有成就感增加可玩性。如图为整体的界面设计需求效果
16、,将整个界面分成了三部分,显得简易清爽,作为用户界面让玩家感觉比较舒服得体。如图2.1所示:图2.1示例2.1.3 游戏形状(方块)需求良好的方块形状设计,绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型),各个方块要能实现它的变形,可设为顺时针或逆 时针变形,一般为逆时针。为了使游戏更加美观更具可玩性,在绘制方块的过程中不采用默认的绘制方式,而是用经过处理的图片效果,这样让组成的方块更加美观,同时彩色的方块也让人赏心悦目,增加了游戏的可玩性。下图(图2.2)就是用来拼接方块颜色的样板色。图2.2示例由图可见这种带有实体效果的方块比一般的二维方块更具立体效果,更美
17、观,会更吸引玩家。2.2算法分析2.2.1定义方块的数据结构对于方块在某一瞬间的位置标识,我们采用一个42的小数组标识出来,即用4个存储单位空间存储当前下坠物的每一子块的位置,也就是说,用4个存储单位空间存储当前下坠物的每一子块的位置来对整个下坠物件的位置进行标识,而每个存储空间的大小就是一个典的坐标值(x,y),而每个方块按照从左到右的方式进行编号,并且在编号过程中对于同一列的方块实行从上到下进行编号 。如图2.3所示:(x0,y0)(x1,y1)(x2,y2)(x3,y3)2301(x0,y0)(x1,y1)(x2,y2)(x3,y3)0123方块编号图2.3示例方块表示方法,即四个小方块
18、的坐标设定:其中一个方块是原点,坐标为(0,0);右侧方块坐标(1,0),下面的方块坐标(0,1),以此类推。 如下为程序中定义的各种方块的数据结构定义。 2.2.2俄罗斯方块流程俄罗斯方块流程(图2.4):到达底部游戏结束到达底部结束销行操作生成下一个下坠物将新生的下坠物代替旧的“下一个下坠物“将旧的“下一个下坠物”用作当前 下坠物销行操作游戏结束处理下降一个单位开始图2.4示例如图中所示是俄罗斯方块的处理流程,从开始判断是否到底底部,到达则做销行操作,然后生成下一个下坠物,将新的下坠物代替旧的下一个下坠物,将旧的下坠物当做当前的下坠物,下到底部判断是否做销行操作,然后判断游戏是否结束,未结
19、束则继续新一轮的生产方块,若方块达到了顶部,占满了空间则游戏结束。 3系统功能实现3.1产生主窗口通过InitInstance函数来初始化窗口的各个信息,包括窗口的位置,位图信息按钮和时钟初始化等。InitInstance函数的实现如下,程序首先调用CreatWindow函数创建初始窗口句柄,然后设置窗口显示坐标,将窗口居中,用空的位图来初始化使界面内都是是空的。定义好窗口和时钟最后讲窗口显示出来。BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)HWND hWnd;int x,y;hInst = hInstance; / Store in
20、stance handle in our global variablehWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);if (!hWnd)return FALSE; /窗口居中, 高度包含标题栏的30x=GetSystemMetrics(SM_CXSCREEN);y=GetSystemMetrics(SM_CYSCREEN);MoveWindow(hWnd,(x-GAMEWIDTH)/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块 游戏 系统 设计 程序
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。