




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
俄罗斯方块游戏毕业论文 I 前前 言言 俄罗斯方块游戏是一款风靡全球的电视游戏机和掌上游戏机产品,它曾经造就了无 与伦比的商业价值,影响了一代游戏产业链。这款游戏的最初是由苏联的游戏制作人 Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾,而且引发无数遐想。相信 广大读者都还记得为它如痴如醉、茶不思饭不想的那个时代。 随着信息社会日新月异的发展,计算机已经普及到人们的日常生活中。为了使用户 在繁忙的日长工作中的得到放松,于是出现了各种各样的休闲工具,如聊天工具,休闲 游戏等。俄罗斯方块作为一款经典的休闲游戏在该游戏新鲜出炉时就显得非常直观, 虽然经过了大量的变形和更改,但游戏的核心依然保持不变。 这个小游戏在 Visual Studio 2005 的环境下开发的,从而了解使用 Visual Studio 2005 集成开发环境来迅速创建小型简单游戏的方法。在开发中我们可以体验到 C#在开发 界面软件程序或者游戏程序方面所具有的强大功能,利用其可视化的编程方式可以很轻 松地创建简单的游戏界面。同时它还提供了相当优秀的代码编辑,调试,向导,编译和 可视化资源编辑等功能,这些强大的功能使它成为当今世界最好的系统开发工具之一。 俄罗斯方块游戏毕业论文 II 摘摘 要要 俄罗斯方块游戏,从俄罗斯人阿莱克斯帕伊特诺夫在八十年代末制作成功以来,以其 规则简单,容易上手,游戏过程变化无穷,且能在娱乐中益智等特点,它已经成为一个 家喻户晓,老少皆宜的大众游戏。 游戏实现由四个方块正方形的色块组成,然后储存在数组的四个元素中,计算机随机 产生不同七种类型的方块。用户根据键盘的四个方向键控制翻转、向左、向右和向下操 作(控制键的实现是由键盘的方向键的事件处理实现) 。然后程序根据这七种方块堆叠成 各种不同的模型。从软件问题定义开始,接着进行可行性研究、需求分析、概要设计、 详细设计,最后对软件进行了测试,整个开发过程贯穿软件开发的知识体系。这款游戏 具有丰富的游戏操作功能,用户可以根据自己的操作水平和喜好进行相应的游戏操作设 置,从而不仅游戏初学者也能从中享受到成功的快乐,即便高水平的玩家也能品尝到挑 战的刺激。该游戏在 Visual Studio 2005 环境中使用 C#开发实现。C#是基于面向对象的 开发设计的编程语言,面向对象的开发在近年已广为普及,成为软件开发最基本的方法。 Visual Studio 2005 作为当前功能最为强大的可视化集成开发环境,它不仅支持传统的软 件开发方法,更重要的是它能支持可视化的开发风格。 关键词:关键词:俄罗斯方块,面向对象,集成开发环境 俄罗斯方块游戏毕业论文 III Abstract In the 1980s, a Russian named Alex Pajitnov designed and developed the Tetris game .After that the Tetris game has become a well-known and all ages game because of its simple roles, easy controlling and changeable gaming process .The Tetris game that I designed allows you to play the game in your own way. I designed the Tetris game ,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. The customer is inside out according to four directions key control of the keyboard, to left, rightwards and get down the operation (the realization of the control key is to carry out by the event handling of the direction key of the keyboard),then the procedure pileds according to these seven kinds of square pieces various different model .Definition begins from software problem ,proceed to carry out feasibility study ,need analysis ,essentials design ,detailed design ,the at last has carried out a testing on the software ,entire exploitation process has run through the software knowledge hierarchy .Player can change the configuration of controller by themselves ,so not only beginners can enjoy the game ,but some high level players also can challenge themselves . The game is developed in C# with Microsoft Visual Studio 2005.C# is a programming language based well-known to all these years and it has been a basics software programming method now. As the strongest IDE, the Microsoft Visual Studio 2005 supports classic developing method and visual developing as well. KeyKey words:words: Tetris, OOP, IDE 俄罗斯方块游戏毕业论文 IV 目目 录录 前前 言言.I 摘摘 要要II ABSTRACTIII 目目 录录.IV 第一章第一章 绪论绪论.1 1.1 课题背景及目的1 1.2 国内外研究概况1 1.3 开发工具简介1 1.4 研究的主要内容2 1.5 研究方法、技术路线2 第二章第二章 系统分析系统分析 .3 2.1 研究可行性分析 .3 2.1.1 设计目的.3 2.1.2 游戏面向的用户群体.3 2.1.3 可行性研究前提.3 2.1.4 可行性分析.3 2.1.5 结论.3 2.2 系统需求分析 .4 2.2.1 用户界面需求.4 2.2.2 软硬件环境需求.4 2.2.3 游戏质量需求.4 第三章第三章 系统说明系统说明 .5 3.1 游戏功能描述5 3.2 系统功能分析5 3.3 算法的描述和流程图5 3.4 系统功能模块图6 第四章第四章 系统设计系统设计 .8 4.1 数据库模块设计及部分代码8 4.2 数据库与界面之间的连接9 4.3 用户登录模块设计及部分代码9 4.4 管理员管理模块设计及部分代码 12 4.5 成绩排行模块设计及部分代码15 4.6 游戏窗体菜单项和控制按钮模块设计及部分代码.16 第五章第五章 软件的测试软件的测试18 5.1 数据库与界面之间连接测试18 5.2 用户登录模块测试18 俄罗斯方块游戏毕业论文 V 5.3 管理员管理模块测试18 5.4 成绩排行模块测试18 5.5 游戏界面菜单选项和控制按钮功能测试 19 第六章第六章 总结总结.21 参考文献参考文献.22 致致 谢谢23 俄罗斯方块游戏毕业论文 1 第一章第一章 绪论绪论 1.1 课题背景及目的课题背景及目的 背景:俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的 轰动与经济价值可以说是游戏史上的一件大事。这款游戏最是由苏联的游戏 Alex Pajitnow 制作的,它看似简单却变化无穷,令人着迷,相信大多数人都还记得为它的规 则简单,容易上手,且游戏过程变化无穷。而在“联众俄罗斯方块”中,游戏人既能感 受到游戏中的乐趣,也能提供一个展现自己高超技艺的场所,究其历史,俄罗斯方块最 早还是出现在 PC 机上,无数人进入游戏编程的世界都是从编写俄罗斯方块游戏开始的, 因为这是检验一个人对开发语言,环境和基本数据结构知识熟练程度的便捷途径。 Microsoft Visual Studio 提供了开发 Window 应用程序的最迅速,最简捷的方法。不论 Window 应用程序的资深专业开发人员还是初学者,Microsoft Visual Studio 都为他们 提供了整套的工具,以便开发应用程序。 目的:在实现俄罗斯方块的基本游戏的前提下,优化其算法与数据结构,并增加一 些传统游戏中没有的新特点,最终实现一款小巧精致的益智俄罗斯方块游戏。本课题要 求在.net 平台下采用 C#实现,图形使用 GDI,并增添一些传统游戏没有的新特点,如用 户信息和分数排行的数据库,登录界面的 Flash 动画制作等。通过对本课题设计的实现, 能提高对熟悉.net 开发环境,数据库的运用,Flash 动画制作。 1.2 国内外研究概国内外研究概况况 俄罗斯方块红遍世界的各个角落,一个本来是吃大锅饭的人在消极怠工的时候发明 的娱乐工具成了造福全人类的宝贝,它的价值远远超越了开发时候的预想,这是一个算 法实现的比较简单,但又乐趣无穷的游戏。课题用 C#实现,这是一种基于面向对象的方 法正受到全世界越来越强烈的关注和高度重视,针对日趋复杂的软件需求,业界也越来 越崇尚利用面向对象的方法和思想进行软件开发。 1.3 开发工具简介开发工具简介 C#作为微软在21世纪推出的新语言,有着其他语言无法比拟的优势。C#语言的应用 非常广泛,在软件行业的多个应用领域中,它已成为基于.NET Framework 解决方案的首 选语言。C#作为一门新的程序设计语言,集中了 C、C+和 Java 等语言的优点,是一门现 代的、优越的、具有广阔发展前景的程序设计语言。 SQL Server 2005是数据库管理系统,具备了通常数据库管理系统最基本的功能。 Microsoft SQL Server 是一种基于客户机/服务器的关系型,一种基于数据库管理系统, 用来对存放在计算机中的数据库进行组织、管理和检索,它使用 Transact-SQL 语言在检 索,它使用语言在服务器和客户机之间传送请求。 俄罗斯方块游戏毕业论文 2 1.4 研究的主要内容研究的主要内容 在整个俄罗斯方块游戏项目中,我负责数据库模块设计,数据库与界面之间的连接, 用户登录模块设计,管理窗体中负责实现管理员对普通用户进行添加,修改,删除的操 作。在游戏窗体的界面中,负责窗体的菜单选项和可见控件的实现。最后是对软件的用 户登录、管理员管理操作、数据库与界面之间的连接、成绩排行、游戏界面菜单选项和 课件控件分别进行测试。研究主要内容如图 1-1 所示: 俄罗斯方块游戏 研究主要内容 数据库模块设计 数据库与界面之间的连接 管理员界面添加、修改、删除控件操作的实现 游戏主窗体的菜单选项和可见控件的实现 用户登录、管理员管理操作等测试 成绩排行模块设计 用户登录模块设计 图 1-1:研究的主要内容 1.5 研究方法、技术路线研究方法、技术路线 本课题完全按照课题要求实现,在保持原有俄罗斯方块规则不变的前提下,尽可能 的提高游戏的乐趣。比如添加数据库模块,数据库与 C#连接,用户登录模块,管理员对 普通用户进行管理模块等等。本设计在.net 平台下采用 C#实现。创建数据库,增加项目 的复杂性,用两个 Label 控件的叠加,可见性与不可见性来更改用户权限。用 Read()方 法读取数据库表中数据。用 SQL 语句的插入、更新、删除更新数据等等。 俄罗斯方块游戏毕业论文 3 第二章第二章 系统分析系统分析 2.1 研究可行性分析研究可行性分析 2.1.1 设计目的 综合运用在校期间所学理论知识和技能,设计开发俄罗斯方块,使自己熟悉应用系 统的开发过程,培养独立思考能力,检验学习效果和动手能力,提高软件实践能力,为 将来实际工作打下坚实的基础。 2.1.2 游戏面向的用户群体 游戏爱好者,休闲娱乐! 2.1.3 可行性研究前提 (1)系统开发的总体任务是实现游戏的可操作性、美观性、及时性及适当的功能 扩展。 (2)采用结构化设计方法,开发出一个可操作性、美观性、及时性的游戏,并通过 此次软件开发过程全面提高自身的综合素质。 (3)通过研究分析俄罗斯方块所具备的能力及实现的方法、确定主体结构。利用现 阶段所达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个有一定 可玩性的游戏软件。 (4)本游戏尽量追求游戏操作的合理性及正确性,但是仍不排除会出现一些偶然性 的错误;同时游戏也尽量追求界面的美观性及功能的丰富性,但是基于时间的关系,可 能会有极少数的扩展功能不能实现。 2.1.4 可行性分析 (1)管理可行性:本游戏设计的目的只在于提高自身实践水平,并不对外发布,因 此完全具有管理可行性。 (2)经济可行性:由于本游戏的主要背景是毕业课程设计,不注重直接的经济效益 和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要 有一台电脑使用便可,所以不用考虑到经济问题。 (3)社会可行性:本游戏的开发作为毕业课程设计以巩固先前所学的知识,以个人 为单位,仅供个人平常娱乐所用,无须考虑有可能造成的社会社会影响,不用考虑到法 律、版权等的社会因素,所以在这方面是完全可行的。 2.1.5 结论 综上所述,本游戏软件的技术成熟、完备。各方面均无重大问题,因此本游戏软件 可以开始着手编写。 俄罗斯方块游戏毕业论文 4 2.2 系统需求分析系统需求分析 2.2.1 用户界面需求 用户界面需求,如表 2-1 所示: 表 2-1:用户界面需求 需求名称需求名称详细要求详细要求 窗体界面友好人机交互,玩家可以很方便进行操作 界面扩展性玩家可以对方块的背景图进行自定义 支持声音改变背景音乐 界面颜色比较新异 2.2.2 软硬件环境需求 软硬件环境需求,如表 2-2 所示: 表 2-2:软硬件环境需求 需求名称需求名称详细要求详细要求 硬件要求酷睿/1G 以上 系统平台 Win XP 运行环境Windows 系列 2.2.3 游戏质量需求 游戏质量需求,如表 2-3 所示: 表 2-3:俄罗斯方块质量需求表 主要质量属性主要质量属性详细要求详细要求 正确性 消息在不同系统平台之间进行传递和显示时不会出现乱码 现象 健壮性 能够容纳 100-200 人同时在线交流,服务器端程序连续应 工作半年以上 可靠性应用程序异常退出及崩溃的机率小于等于 5% 性能效率用户消息发送与接收的延迟时间小于等于 5 秒 易用性不用安装,操作简便 安全性保证用户的信息在传输过程中不被窃取、不会泄漏至外网 可扩展性可在当前需求基础之上进行功能上的扩展 兼容性可运行在大多数主流的硬件环境中 可移植性可运行在 Windows 操作平台上 俄罗斯方块游戏毕业论文 5 第三章第三章 系统说明系统说明 3.1 游戏功能描述游戏功能描述 对于俄罗斯方块游戏,其功能描述如下: (1)当程序运行时,出现登录界面,填写用户名称和密码,正确后,管理员进入管 理界面,进行添加、修改、删除操作。普通用户进入主界面,进行游戏。 (2)游戏开始,游戏区域上方不断地出现预定义形状的下坠物件。 (3)下坠物件可以通过旋转改变其显示形态,并且不断地往下坠,直到它接触到游 戏区域底部或其他之前已经垒叠起的下坠物件。当一个下坠物件到达底部后,其位置则 确定下来并占有该空间的位置区域。 (4)当游戏区域的某一行被下坠物件完全填充,则消除该行的所有下坠物,垒在其 上面的物件将掉下代替该行空间。 (5)游戏的结束是以下坠物件的顶部到达游戏区域的顶部作为判断依据,表示装满 溢出。并且在某一瞬间,下一个方块的形态在游戏区域的右上方有预先提示,同时每抵 消一行空间积分自增。 3.2 系统功能分析系统功能分析 俄罗斯方块游戏对广大读者来说应该并不陌生,所以本项目实例的主要功能就是控 制游戏的运行,实现游戏的完整运行。具体来说,主要包括如下功能模块: (1)数据库与界面之间的连接:完善项目。 (2)游戏登录界面:管理员和普通用户进行用户名和密码的核对。 (3)游戏管理员管理界面:管理员可以对用户进行添加、修改、删除操作。 (4)游戏控制菜单:可以控制游戏的开始、退出和样式的选择。 (5)设置菜单:可以设置游戏的显示样式,并提供游戏帮助等信息。 3.3 算法的描述算法的描述和流程图和流程图 首先,在游戏开始后检查当前的下坠方块是否已经到了底部,如果不是的话就将下坠 方块到了该定时器间隔的时间后整体往下移动一个单位,否则,进行到达底部后的操作。 对于到达底部后的操作,可以分为以下几个步骤来处理。 (1)先对进行到底部后的所有可以抵消的行进行销行处理。 (2)生成一个新的“下一个方块” ,这个方块的形态需要随机地生成。 (3)在将旧的“下一个方块”置换成新的下一个方块,并在屏幕右上方显示。 (4)将当前的“方块”换成以前产生的旧的“下一个方块” ,并且马上使用。由于 在这个过程中已经重新使用了一个新的下坠方块,在刚使用时并且还没有下降前,应该 判断它是否已经不可以下降到底部(也就是说,在方块已经堆砌到接近游戏区域顶部的 时候,下坠方块一旦被使用,就已经到达了底部) ,如果时刚好到达底部则实行销行检测 和操作,并且判断顶部(第一行)的某些区域是否已经被占用了,是则表示游戏已经触 发结束的标志时间,应该进入游戏结束状态。 俄罗斯方块游戏毕业论文 6 (5)在前面判断为到达底部后,进行销行检测与操作。 (6)在下坠方块到达底部的同时,判断是否已经到达了游戏的顶部,是则表示游戏 结束,进行游戏结束的资源释放与数据库环境清理工作。 俄罗斯方块游戏的流程图,如图 3-1 所示: 1.销行操作 2.生成下一个方块 3.将新生的方块代替旧的“下一个方块” 4.将旧的“下一个方块”用作当前方块 5.销行操作 6.结束处理 7.下降一个单位 到达底部 底部 是 否 否 是 到达底部 到达顶部 游戏结束 开始 结束 图 3-1:俄罗斯方块游戏流程图 3.4 系统功能模块图系统功能模块图 系统开发流程图,如图 3-2 所示: 俄罗斯方块游戏毕业论文 7 功能模块分析规划项目文件实现窗体 编码实现 后期调试 图 3-2:系统开发流程图 系统运行流程图,如图 3-3 所示: 图 3-3:系统运行流程图 游戏主窗体菜单和可见控件运行流程图,如图 3-4 所示: 运行窗体 游戏开始 游戏载入 游戏保存 游戏控制 游戏设置 游戏帮助 游戏结束 图 3-4:游戏模块运行流程图 俄罗斯方块游戏毕业论文 8 第四章第四章 系统设计系统设计 4.1 数据库模块设计数据库模块设计及部分代码及部分代码 在建立数据库时,要根据项目的需要,设计表格。 打开 SQL Server 服务器,新建数据库,命名为 Youxi。 创建游戏用户表,列名主要包括 ID、用户名称、用户密码和用户权限,其中 ID 为主 键,游戏用户表主要是用于保存用户的信息。游戏用户表设计如图 4-1 所示: 图 4-1:游戏用户表的设计 游戏用户表的测试数据如图 4-2 所示: 图 4-2:游戏用户表的测试 创建游戏成绩排行,列名包括用户名称和分数,其中用户名称为主键,用于保存用 户游戏成绩。游戏成绩排行设计如图 4-3 所示: 图 4-3:游戏成绩排行的设计 游戏成绩排行的测试数据如图 4-4 所示: 图 4-4:游戏成绩排行的测试 俄罗斯方块游戏毕业论文 9 4.2 数据库与界面之间的连接数据库与界面之间的连接 在用户登录窗体的界面中,数据库与界面连接是整个项目的枢纽,关键代码如下: conn = new SqlConnection(“server=.;uid=sa;pwd=123;database=Youxi“); /server为数据库服务器,uid为登入名,pwd为登入密码,database为数据库名 DataSet ds = new DataSet();/初始化实例 da = new SqlDataAdapter(“select 用户名称,用户权限 from 用户表“, conn); if (conn.State = ConnectionState.Closed)/描述与数据源连接的当前状态 conn.Open(); da.Fill(ds, “用户表“); conn.Close(); name.DataSource = ds.Tables“用户表“; name.DisplayMember = “用户名称“; 4.3 用户登录模块设计用户登录模块设计及部分代码及部分代码 打开“Microsoft Visual Studio 2005” ,新建项目,名称为 youxi,新建项目图示 如图 4-5 所示: 图 4-5:新建项目图示 在项目开发环境中,创建文件夹用来存放项目中的各种文件和窗体,俄罗斯方块游 戏项目结构如图 4-6 所示: 项目类型 保存路径 项目名称 俄罗斯方块游戏毕业论文 10 图 4-6:俄罗斯方块游戏项目结构 创建用户登录模块的登录窗体,命名为 frnLogin,窗体界面包括用户名称、用户密码 和用户权限。普通用户填写用户名称和用户密码,点击登录按钮,正确后界面转到主窗 体。管理员则转到管理界面。用户登录模块设计如图 4-7 所示: 图 4-7:用户登录模块登录界面 登录窗体中,只允许登录的用户信息是数据库 Youxi 中用户表存在的数据。认证用 户输入的用户名称和用户密码要与数据库中一样,否则登录失败,重新输入。管理员和 普通用户权限不同,要根据用户名称改变用户权限。用户登录模块关键代码如下: da = new SqlDataAdapter(“select * from 用户表 where 用户名称=“ + name.Text.Trim() + “ and 用户密码=“ + pwd.Text.Trim() + “, conn); DataSet ds = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); da.Fill(ds, “用户表“); 游戏开始窗体 游戏关于版权窗体 用户登录窗体 游戏主窗体 游戏帮助窗体 成绩排行窗体 用户删除窗体 用户添加窗体 用户修改窗体 俄罗斯方块游戏毕业论文 11 conn.Close(); if (ds.Tables“用户表“.Rows.Count 0) /判断权限,根据权限选择进入不同窗体 if (userRight = “admin“) guanli g = new guanli(); this.Hide(); music.Stop(); g.Show(); else if (userRight = “user“) /给游戏界面传输用户信息 frmMain frmmain = new frmMain(); frmmain.UserFen = userfen; frmmain.UserName = name.Text.Trim(); frmmain.Owner = this; this.Hide(); music.Stop(); frmmain.Show(); 用户名称的文本框获取数据库中相应的用户名称,用户权限根据用户名称的改变而 改变,用两个Label控件的叠加,用控件的可见性与不可见性来实现的,关键代码如下: com = new SqlCommand(“select 用户名称,用户权限 from 用户表 where 用户名称=“ + name.Text + “, conn); if (conn.State = ConnectionState.Closed) conn.Open(); dr = com.ExecuteReader(); if (dr.Read() /显示权限 userRight = dr“用户权限“.ToString(); if(userRight=“admin“) guanli.Visible=true; putong.Visible=false; else if(userRight=“user“) guanli.Visible = false; putong.Visible = true; 俄罗斯方块游戏毕业论文 12 4.4 管理员管理模块设计管理员管理模块设计及部分代码及部分代码 游戏管理员管理界面,管理员可以对普通用户分别进行添加、修改和删除的操作管 理。游戏管理员管理内容图 4-8 所示: 图 4-8:游戏管理员管理内容 (1)在管理员对用户进行添加操作时,根据用户名称和用户密码进行添加,输入用 户名称和用户密码,完成后点击“确定”按钮,管理员添加普通用户步骤如图 4-9 所示: 图 4-9:管理员添加普通用户步骤 管理员添加普通用户,判断添加的用户名称是否已经存在的关键代码如下: da = new SqlDataAdapter(“select * from 用户表 where 用户名称=“ + t1.Text + “, conn); DataSet ds = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); int count = da.Fill(ds, “用户表“); conn.Close(); if (count != 0) MessageBox.Show(“该用户名称已存在,请重新输入!“); 输入用户名称 输入用户密码 俄罗斯方块游戏毕业论文 13 return; 管理员添加普通用户,把添加的用户添加到数据库中,关键代码如下: string SQLString; SQLString = “insert into 用户表(用户名称,用户密码,用户权限) values (用 户名称,用户密码,用户权限) insert into 成绩排 行(用户名称,分数) values (用户名称,0)“; com=new SqlCommand(SQLString,conn); com.Parameters.Clear(); SqlParameter nameParameter = new SqlParameter(); nameParameter.ParameterName = “用户名称“; nameParameter.Value = t1.Text; com.Parameters.Add(nameParameter); SqlParameter pwdParameter = new SqlParameter(); pwdParameter.ParameterName = “用户密码“; pwdParameter.Value =t2.Text; com.Parameters.Add(pwdParameter); SqlParameter quanParameter = new SqlParameter(); quanParameter.ParameterName = “用户权限“; quanParameter.Value = “user“; com.Parameters.Add(quanParameter); (2)在管理员对普通用户进行信息修改时,是对用户名称和用户密码进行修改。管 理员对普通用户修改如图 4-10 所示: 4-10:管理员与普通用户进行修改 在管理员对普通用户进行修改时,存放用户名称的文本框获取数据库 Youxi 用户表 中用户名称和相对应的用户密码,关键代码如下: com = new SqlCommand(“select 用户名称,用户密码 from 用户表 where 用户名称=“ + comboBox1.Text + “, conn); if (conn.State = ConnectionState.Closed) conn.Open(); dr = com.ExecuteReader(); if (dr.Read() 修改用户名称 修改用户密码 俄罗斯方块游戏毕业论文 14 userPwd = dr“用户密码“.ToString(); t2.Text = userPwd; dr.Close(); conn.Close(); 管理员对普通用户进行修改,同时更新数据库表中关键代码如下: SQLString = “ update 用户表 set 用户名称=用户名称,用户密码= 用户密码,用户权限=用户权限 where 用户名称=“ + comboBox1.Text + “; (3)在管理员对普通用户进行删除操作时,是根据用户名称进行选择删除的,管理 员对普通用户进行删除如图 4-11 所示: 图 4-11:管理员对普通用户进行删除 管理员对普通用户进行删除用户操作,根据用户名称进行删除,删除后要及时的跟 心数据表中的数据,关键代码如下: com = new SqlCommand(“delete from 用户表 where 用户名称=“ + comboBox1.Text + “ + “ delete from 成绩 排行 where 用户名称=“ + comboBox1.Text + “, conn); if (conn.State = ConnectionState.Closed) conn.Open(); com.ExecuteNonQuery(); conn.Close(); MessageBox.Show(“删除数据成功!“); /删除成功后更新数据 DataSet ds = new DataSet(); da = new SqlDataAdapter(“select 用户名称 from 用户表 where 用 户权限=user“, conn); if (conn.State = ConnectionState.Closed) conn.Open(); da.Fill(ds, “用户表“); conn.Close(); 根据用户名称 删除用户 俄罗斯方块游戏毕业论文 15 comboBox1.DataSource = ds.Tables“用户表“; comboBox1.DisplayMember = “用户名称“; 4.5 成绩排行模块设计成绩排行模块设计及部分代码及部分代码 普通用户游戏主窗体界面,用户可以直接开始游戏,可以先查看分数排行的前五名, 可以查看关于我们的信息。前五名用户成绩排行图 4-10 所示: 图 4-12:前五名用户成绩排行 查看前五名用户的成绩排行榜,用选择语句把数据库 Youxi 表成绩排行的数据进行 分数的从高到底排行,然后显示到成绩排行的界面中,前五名用户成绩排行关键代码如 下: private void paihang_Load(object sender, EventArgs e) ./省略连接数据库成绩排行的代码 try da = new SqlDataAdapter(“select * from 成绩排行 order by 分数 desc“, conn); DataSet ds = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); int count = da.Fill(ds, “成绩排行“); conn.Close(); /对成绩排行表中的分数进行排行,显示前五名成绩 t1.Text = ds.Tables0.Rows00.ToString(); t11.Text = ds.Tables0.Rows01.ToString(); t2.Text = ds.Tables0.Rows10.ToString(); t22.Text = ds.Tables0.Rows11.ToString(); t3.Text = ds.Tables0.Rows20.ToString(); t33.Text = ds.Tables0.Rows21.ToString(); t4.Text = ds.Tables0.Rows30.ToString(); t44.Text = ds.Tables0.Rows31.ToString(); 成绩排行 俄罗斯方块游戏毕业论文 16 t5.Text = ds.Tables0.Rows40.ToString(); t55.Text = ds.Tables0.Rows41.ToString(); catch (Exception ex) MessageBox.Show(ex.Message.ToString(); 4.6 游戏窗体游戏窗体菜单项和控制按钮模块设计及部分代码菜单项和控制按钮模块设计及部分代码 游戏窗体菜单模块,包括文件、设置选项和游戏帮助三个菜单项,重新开始、保存、 载入和上一轮四个按钮,一个【速度设置】滑动条。游戏窗体菜单项和控制按钮主要内 容如图 4-13 所示: 图 4-13:游戏窗体菜单项 在窗体元素设置文件 frmbegin.Designer.cs 内,定义了各窗体控件的具体设置属性, 下面的内容中将分别进行介绍。 (1)控制按钮 窗体右侧的各控制按钮控件的功能是控制游戏的过程,例如游戏开始、载入和保存。 (2)窗体菜单 窗体顶部的各菜单都包含对应的菜单项,甚至还包含子菜单项,其功能是对游戏进行控 制和设置,并提供游戏的使用和帮助信息。 (3)图片列表控件和窗体总体设置 俄罗斯方块游戏毕业论文 17 窗体内插入了图片列表控件,其功能是设置游戏的外观显示样式,供用户根据个人喜好 进行选择。而窗体总体设置属性的功能是设置窗体 frmbegin 的对应属性。游戏外观显示 样式的关键代码如下: private void style1ToolStripMenuItem_Click(object sender, EventArgs e) if (sender = style1ToolStripMenuItem) youxiControl.ImageList = imageList1; else if (sender = style2ToolStripMenuItem) youxiControl.ImageList = imageList2; if (sender = style3ToolStripMenuItem) youxiControl.ImageList = imageList3; 俄罗斯方块游戏毕业论文 18 第五章第五章 软件的测试软件的测试 5.1 数据库与界面之间连接测试数据库与界面之间连接测试 当程序运行时,登录界面首页用户名称的文本框是有用户存在的,如 5-1 所示。在管 理员对普通用户进行添加、修改和删除操作时,数据库会及时的更新。如果没有更新, 则数据库与界面的连接失败。 图 5-1:用户名称的文本框有用户存在 5.2 用户登录模块测试用户登录模块测试 点击“启动调试” ,运行到登录界面,填写用户名和密码,用户名和密码与数据库中 用户表的信息要一致。如果一致,管理员登录到管理界面,普通用户登录到游戏界面。 如果不一致,重新输入。 5.3 管理员管理模块测试管理员管理模块测试 登录管理员权限的界面,界面包括:添加,修改,删除。但普通用户不可以管理操 作。在管理员界面中,点击“添加”按钮时,跳转到添加界面中,填写姓名和密码,完 成后点击“确定”按钮,弹出提示框“操作成功” 。点击“修改” 按钮时,跳转到修改 界面中,选择要修改的对象,进行修改,完成后点击“确定”按钮,弹出提示框“操作 成功” 。点击“删除”按钮时,跳转到删除界面中,只对姓名进行删除,选择后点击“确 定”按钮,弹出提示框“确定要删除该生的信息吗?” ,点击“确定” 按钮,弹出提示 框“删除数据成功” 。 5.4 成绩排行模块测试成绩排行模块测试 成绩排行是按照用户游戏得分取前五名的成绩设置排行榜。在主窗体中点击“排行 榜” ,跳转到排行的界面,显示前五名的名次,姓名和成绩,正确的排行榜如图 5-1 所示: 显示用户名称 俄罗斯方块游戏毕业论文 19 图 5-2:正确的前五名成绩排行 5.5 游戏界面菜单选项和控制按钮功能测试游戏界面菜单选项和控制按钮功能测试 (1) “文件”菜单测试 1)点击“重新开始(扩展) ” 输出:游戏开始 结果:正常 2)点击“保存” 输出:另存为的对话框 结果:正常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 表格式北师大版六年级数学上册教案
- 设备供货进度计划和保证项目完成的具体措施
- 从职业规划到岗位发展的全流程指导
- 2025年android下载!Android基础面试常常死在这几个问题上值得收藏!-android 批量下载 面试
- 建筑施工特种作业-桥(门)式起重机司机真题库-9
- 山东英语写作题目及答案
- 溶液稀释类题目及答案
- 2023-2024学年云南省昆明市高二下学期期末质量检测数学试题(解析版)
- 2023-2024学年山东省日照市高二下学期期末考试数学试题(解析版)
- 2025届贵州省安顺市高三适应性检测(三模)语文试题(解析版)
- GB 15984-1995霍乱诊断标准及处理原则
- 9-马工程《艺术学概论》课件-第九章(20190403)【已改格式】.课件电子教案
- 河道测量方案
- 矿山环境保护ppt课件(完整版)
- 浙江开放大学商法二、简答题答卷
- 昆明万科工程样板点评及验收管理制度
- 机械设计课件:第4章 带传动
- 实验2:基本数据类型、运算符与表达式
- 增强教师职业认同感、荣誉感、幸福感-课件
- QC∕T 900-1997 汽车整车产品质量检验评定方法
- 年产10吨虾青素生产项目可行性研究报告
评论
0/150
提交评论