《猜数游戏软件的设计开发毕业设计论文.doc》由会员分享,可在线阅读,更多相关《猜数游戏软件的设计开发毕业设计论文.doc(57页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)猜数游戏软件的设计开发论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:猜数游戏软件的设计开发摘 要随着科学技术和精神生活的不断提高,人们越来越多的热衷于猜数游戏这类小型休闲益智型游戏。它利用其简单的操作方式及逻辑有趣的游戏过程吸引着众多玩家。本次课题设计的即一款界面简洁、大方,休闲有趣的小型猜数游戏系统。本系统采用Microsoft Visual Studio.NET 2003开发平台,主要研究基于Visual C#对猜数游戏软件的设计与开发。利用Windows窗体程序实现多种猜数游戏功能。通过连接Microsoft Office中的Microso
2、ft Access数据库,对排行榜数据结果进行查询和更新。其主要创意展现在它的游戏欢迎界面,游戏设置界面,游戏等待界面,游戏猜数界面及游戏排行榜五大界面之上。玩家在游戏此游戏时,可根据不同界面的提示进行猜数操作:设置猜数(设定次数、时间、位数等),进行猜数,在排行榜中查询自己的猜数成绩结果排名等。关键词:猜数游戏;Visual C#;数据库The Design and Development of The Guessing Number Game SoftwareAbstractAlong with improvement of science and technology, spiritua
3、l life, people are more and more keen on mini intelligence games like number guessing game, which attracts lots of people by its easy controls and interesting logical process. This design is an interesting mini number guessing game with a terse and graceful surface in style. The system , that uses M
4、icrosoft Visual Studio. NET 2003 as developing platform ,mainly researches designing and developing of guessing number game based on Visual C#. Various number guessing games can be enforced. Through linking Microsoft Access data base from Microsoft Office , results of topboard data can be checked an
5、d updated .The most great thing of the system is its game entering surface, setting surface, waiting surface ,game playing surface and game topboard surface. When player plays the game, he can run the game by different given surface hints:setting guessing numbers(times, time, figures),beginning numb
6、er guessing games, and inquiring about his game results in the list.Key words: Guessing number game; Visual C#; Data base目 录论文总页数:21页1引言11.1系统开发的背景11.2系统开发的意义12系统需求及分析12.1系统需求12.2系统开发平台简介12.3系统开发相关概念12.3.1 Visual C#概述12.3.2 Visual C# Windows应用程序概述22.3.3 Access数据库系统概述23系统总体设计23.1系统功能划分23.2系统具体功能34系统功
7、能实现34.1系统主要功能实现流程图34.2系统模块的实现44.3系统主要模块功能实现44.3.1本系统欢迎界面模块实现44.3.2本系统设置模块的实现64.3.3本系统等待模块的实现74.3.4本系统猜数模块的实现74.3.5本系统排行榜模块的实现115系统测试135.1运行情况135.2测试结果176关键技术17结 论19参考文献19致 谢20声 明211引言1.1系统开发的背景游戏发展至今已经有30多年历史,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。大部分的人一听到猜数游戏,通常就会想到这是一个小游戏。也有很多其它类型的游戏,会在它们的游戏中安插一
8、些这类益智型游戏当作额外加分的副游戏。但随着人们精神生活的提高,Internet在我国的迅速普及和推广,猜数游戏作为一种小型益智休闲型游戏在这种环境下应允而生,受到越来越多人们的青睐。尽管它的游戏过程可能很简单,也不需要强大的3D图形处理能力或是5.1个声道的音效,但是它给玩家带来的乐趣,依然不能忽视。猜数游戏提供的是一个训练逻辑思考或解谜的环境,并且有一定的规则及逻辑。玩家必须遵循游戏所设定的规则来解开谜题,达成游戏目标。它讲究高超的人工智能,休闲趣味的玩法和舒适的操作环境。1.2系统开发的意义在电脑普及发展的今天,游戏成为人们益智和娱乐休闲的重要途径,它在人们的精神生活等各个方面发挥着重要
9、的作用。因此游戏的开发与设计在Internet应用上的地位显而易见,倍受人们的重视。这次我所选的课题猜数游戏软件的设计开发正是互联网与社会生活之间的紧密关系的体现,它是一种简单的小游戏。在目前,智力趣味性游戏虽然种类数量繁多,但优秀有趣的游戏并不多,希望通过这次开发设计出的猜数小游戏能集优秀于一体,使人们能通过这个小小的益智游戏给生活带来一点乐趣,增加丰厚的精神文化生活!2系统需求及分析2.1系统需求优秀的猜数小游戏体现于玩家在操作此游戏时简单易懂,它提供的是一个训练逻辑思考和解谜的环境,并且有一定的规则及逻辑。玩家遵循游戏所设定的规则来解开谜题,达成游戏目标。它不仅拥有趣味的玩法而且提供了舒
10、适的操作环境。本次设计考虑到上述诸多因数,巧妙的运用Visual C# Windows窗口下的模块控件精致的开发与设计出了一款猜数游戏。2.2系统开发平台简介本次设计所采用的开发平台为Microsoft Visual Studio.NET 2003,以它之下的Windows窗体程序,结合Microsoft Office中的Microsoft Access数据库,完整的设计开发出了一款新创意的猜数游戏。2.3系统开发相关概念2.3.1 Visual C#概述C#是微软根据.NET战略开展的一种新语言。它是一种类型安全的、现代的、简单的,由C和C+衍生出来的面向对象的编程语言。C#的程序结构大致可
11、以这样划分:1.命名空间;2.类和类的方法;3.程序的输入和输出;4.注释。2.3.2 Visual C# Windows应用程序概述使用Visual C#创建Windows应用程序项目是一件非常容易的事。它的创建实质上是与手动创建相同的应用程序,就像普通的终端程序一样,用户可以在普通的文本编辑器中手动创建、调用.NET方法和类,然后在命令行编译应用程序,并分发产生的可执行程序。它提供的工具使应用程序的开发更快、更容易和更可靠。这些工具包括:带有可拖放控件的Windows窗体可视化设计器。包含语句结束、语法检查和其他智能感知功能的识别代码编辑器。集成的编译和调试。用于创建和管理应用程序文件的项
12、目管理工具。典型的Windows窗体程序通常包括窗体(Forms)、控件(Controls)和相应的事件(Events)。2.3.3 Access数据库系统概述人们设计了数据库管理系统的通用语言SQL(结构化查询语言)。通过结构化查询语言,编程人员可以透明地访问Access数据库,编程人员可以在不知道要使用的数据库命令格式,甚至是数据库的类型,而只是向数据库发出SQL命令,对方数据库的SQL命令解释就会对编程人员发出的SQL命令进行解释执行,并将结果返回编程人员。3系统总体设计3.1系统功能划分系统功能划分如图3-1所示:欢迎界面系统音乐播放选择设置系统等待系统游戏系统排行榜系统游戏模式选择进
13、度条滚动猜数3种排行查询图3-1系统总体模块3.2系统具体功能本系统总共分为:欢迎界面系统、设置系统、等待系统、游戏系统、排行榜系统5大功能系统。欢迎界面系统提供首页欢迎画面和整曲音乐播放功能;设置系统提供玩家选择游戏模式,如:猜数次数限制的选择、猜数时间限制的选择、数字位数的选择及填写玩家的姓名以便于最后的排行榜排名;等待系统即设置游戏和开始游戏之间的进度条界面,方便于玩家做好游戏前的准备工作。游戏系统包括游戏提示、游戏时间计算、游戏次数计算、生成随机数、用户猜数、显示状态、重新设置、开始、再来、放弃及查看排行榜和帮助等功能;排行榜系统提供纯次数排行、纯时间排行和综合排行3种排名方式及数据的
14、清空确认功能。开发整个系统具备了周期时间短、简单易用、休闲益智等几大类显著的特性。本次系统开发设计出了界面大方简洁美化的3种游戏模式,即游戏设置中玩家可根据自身情况选择的次数限制选择、时间限制选择及数字位数选择几种模式。游戏设置时可选择其中一种模式,也可以选择多种模式。4系统功能实现4.1系统主要功能实现流程图设置完成开始游戏猜数进入游戏设置取消猜数成功放弃猜数系统排名系统提示用户猜数游戏设置图4-1用户进入游戏到开始猜数的整个逻辑过程提示大了用户猜数退出猜数成功提示小了与随机数比较开始猜数有限定条件放弃图4-2猜数的逻辑流程4.2系统模块的实现1欢迎界面模块由欢迎图片配加播放器组成。2设置系
15、统模块由多个groupBox、checkbox、label 、TextBox、button控件组成。其中 groupBox构成整个游戏设置框架,界面总体大小都可在其属性中调制。在这个控件中添加次数限制和时间限制两个checkbox控件,11个label控件,6个 TextBox控件及设置和取消2个button控件。3等待系统模块包含属性中的该控件背景图象,设置一个文本为“数据加载,游戏配置中”的label控件,一个progressBar控件及一个Timer控件。4游戏系统模块由多个groupBox、label 、TextBox、button控件组成。其中 groupBox构成整个游戏界面框架,
16、界面总体大小可在其属性中调制。在这个控件中添加7个label控件,2个 TextBox控件及设置和放弃等3个button控件。5排行榜系统模块由多个groupBox、checkbox、label 、TextBox、button控件组成。其中 groupBox构成整个排行榜框架,排行榜总体大小可在属性中调制。在这个控件中添加5个label控件,1个datagrid控件及排行确定和排行清空2个button控件。4.3系统主要模块功能实现4.3.1本系统欢迎界面模块实现玩家进入游戏,首先享受到的是猜数欢迎界面。其界面通过调用图片welcome.bmp实现,大方、简洁、美观。在界面中可对播放器歌曲及其
17、声音大小进行选择调试。要进入下一步的游戏设置需点击确定此页面方可进入。具体实现代码如下:private void 欢迎界面_Click(object sender, System.EventArgs e) this.Visible=false;private void 欢迎界面_Load(object sender, System.EventArgs e)this.BackgroundImage=System.Drawing.Image.FromFile(Application.StartupPath+welcome.bmp);trythis.axWindowsMediaPlayer1.URL
18、=Application.StartupPath+musicmusic.m3u;catch音乐播放的实现,首先是对音乐播放器在欢迎界面的图片中进行添加。具体添加操作如下:点击工具箱中的添加删除项(右键),弹出自定义工具箱,点击COM组建,添加Windows Media Player。播放器添加完毕,玩家进入游戏欢迎界面即可享受美妙的游戏音乐。游戏音乐可在以下路径进行添加删除或更换:解决方案“猜数游戏”项目binDebugmusicmusic.m3u中。游戏同时,通过调用播放功能,不同的状态按扭会发出不同的提示声音。按扭音乐实现代码如下:void 播放(string 音乐名)trythis.ax
19、WindowsMediaPlayer1.URL=Application.StartupPath+music+音乐名;catch4.3.2本系统设置模块的实现设置界面系统包含:次数限制、时间限制、数字位数选择、输入姓名、设置和取消等功能。并显示出游戏的基本规则:“系统自动生成一个正整数,每次用户猜数后,系统提示所猜数与答案的比较情况,直至用户猜数正确为止。”玩家开始设置游戏时,文本提示 “游戏设置中”,“开始”和“用户猜数”功能启用,目录菜单中“新游戏”控件启用,而“暂停”、“放弃”和“排行榜”控件不启用。设置完成后,输入一个用户姓名,否则音乐播放“错误”提示音,消息框显示“请输入姓名,便于排名
20、!失败”:if(this.textBox_名字.Text=)播放(错误.wav);xxk=new 消息框(请输入姓名,便于排行!,失败);xxk.ShowDialog();return;且汉字不能超过8个字符,否则消息框提示:“汉字姓名不能超过4个字(一个汉字两字符)!失败”。判断姓名是否合格代码为:byte btstr=System.Text.Encoding.Default.GetBytes(this.textBox_名字.Text);if(btstr.Length8)xxk=new 消息框(汉字姓名不能超过4个字(一个汉字两字符)!,失败);xxk.ShowDialog();return
21、;若以上功能设置成功,则考虑次数限制和时间限制的选择。如果有次数限制,则限制的次数即等于用户的设置数且限制次数为真,否则限制次数为假。若有时间限制,则将时、分、秒数字符型转换为数字型,限制时间为真,否则为假。字符型转换为数字型代码为:时=Convert.ToInt32(this.S.Text);分=Convert.ToInt32(this.F.Text);秒=Convert.ToInt32(this.M.Text);位数的选择即用户在19之间选择的数字,且将其字符型转换为数字型:位数=Convert.ToInt32(this.WS.Text)若以上设定未能成功,则消息框提示:“请输入数字,字母
22、输入失败!失败”。4.3.3本系统等待模块的实现等待界面系统由一个GroupBox中选定的背景界面加一根滚动条组成。运行此界面系统时,通过启用时间控件设定滚动条时间来决定等待界面的过度时间,界面显示“数据加载,游戏配置中”。实现代码为:private void timer1_Tick(object sender, System.EventArgs e)this.配置.Visible=true;this.progressBar1.Value+=2;if(this.progressBar1.Value=100)this.progressBar1.Value=0;this.timer1.Enable
23、d=false;this.配置.Visible=false;if(this.label23.Text.Length20)this.label23.Text+=.;elsethis.label23.Text=数据加载,游戏配置中;4.3.4本系统猜数模块的实现游戏界面系统包括:开始、设置、猜数、放弃和再来等功能。首先,点击“开始”按扭时,其文字变为“猜数”:if(this.button_开始.Text=猜数)然后,若有时间限制则启用时间控件,否则文本显示“无时间限制”:if(限时)this.timer_时间.Enabled=true;elsethis.stime.Text=无时间限制根据所猜次数
24、文本提示:“您已经用了次数猜数字”。猜数过程中若输入数大于随机数,则提示显示“”,音乐播放“大了”提示音;若输入数小于随机数,则提示显示“”,音乐播放“小了”提示音:if(随机数 输入数)this.label_状态.Text= 输入数)this.label_状态.Text=;播放(小了.wav);若猜数正确,有限时的即关闭时间控件功能,用秒为单位,统计总秒数,状态显示为“=”,文本提示结果:“恭喜您猜数正确,您用了次次+时间猜对数字”。猜数系统中统计总时间的计算方法为:先将字符型转换为数字型,以秒为单位,1分=60秒,1时=60分等价于1时=3600秒,即:秒数=(Convert.ToInt3
25、2(this.S.Text)-时*3600+ (Convert.ToInt32(this.F.Text)-分)*60+Convert.ToInt32(this.M.Text)-秒;那么,总的时间等于用了的时或分转换为秒数再加用了的秒数,即:时间=用了+秒数.ToString()+秒。系统自动调用排行榜功能,对名次排行进行比较。“开始”控件变为“再来”,即不再猜数,音乐播放“赢了”提示音:排行榜操作(秒数,次数,位数);button_排行确定_Click(sender,e);this.button_开始.Text=再来;播放(赢了.wav);若有次数限制,且玩家用完所猜次数,则系统自动调用放弃功
26、能,弹出提示框提示:“猜数失败,您已超过了猜数的最大次数,失败” 。“开始”控件变为“再来”,播放“超次”音乐提示。玩家要想开始下一次新的游戏,点击“再来”控件即可。实现代码如下:if(限次&次数=限次数)button_放弃_Click(sender,e);播放(超次.wav);xxk=new 消息框(超出次数限制,失败,失败);xxk.ShowDialog();this.button_开始.Text=再来;游戏中点击“放弃”按扭时,系统自动执行放弃游戏功能。状态文本显示为“X”,文本提示“您放弃了猜数”,系统随机生成数显示出来,“开始”的控件变为“再来”,同时关闭时间控件,目录中的“新游戏”
27、、“排行榜”、“设置”控件功能启用,而“暂停”和“放弃”功能则不启用,音乐播放“放弃”提示音。实现代码如下:this.label_状态.Text=X;this.提示1.Text=您放弃了猜数;this.textBox_系统生成数.Text=this.随机数.ToString();this.button_开始.Text=再来;this.timer_时间.Enabled=false;this.menuItem_新游戏.Enabled=true;this.menuItem_暂停.Enabled=false;this.menuItem_放弃.Enabled=false;this.menuItem_排行
28、榜.Enabled=true;this.menuItem_设置.Enabled=true;播放(放弃.wav);return; 游戏中点击“暂停”按扭时,控件上的文字变为“暂停游戏”,音乐播放“暂停”提示音,时间功能停止,“开始”控件不能点击,目录中的“放弃”和“新游戏”功能将不能启用。否则即“继续”游戏,音乐播放“继续”提示音,文本提示:“您已经用了次数猜数字”。目录中“继续游戏”的按扭功能及文字变为“暂停游戏”。同时也可点击开始、猜数及放弃。目录中的“放弃”和“新游戏”控件功能启用,若有时间限制则启动时间功能。实现代码如下: if(menuItem_暂停.Text=暂停游戏(&P)播放(暂
29、停.wav);this.timer_时间.Enabled=false;this.button_开始.Enabled=false;this.textBox_用户猜数.Enabled=false;menuItem_暂停.Text=继续游戏(&P);this.提示1.Text=游戏暂停中,请按F3继续;this.button_放弃.Enabled=false;this.menuItem_放弃.Enabled=false;this.menuItem_新游戏.Enabled=false;else播放(继续.wav);this.提示1.Text=您已经用了+次数+次猜数字。;menuItem_暂停.Tex
30、t=暂停游戏(&P);this.button_开始.Enabled=true;this.textBox_用户猜数.Enabled=true;this.button_放弃.Enabled=true;this.menuItem_放弃.Enabled=true;this.menuItem_新游戏.Enabled=true;if(限时)this.timer_时间.Enabled=true;当新游戏重新开始时,生成新的数据。即定义一个变量,放随机数上下限。将系统生成数和时间显示数清空,生成一个随机数,文本提示:“系统自动生成完毕,请猜数”。目录中 “新游戏”、“暂停”、“放弃”功能启用,而“设置”和“排
31、行榜”功能则不启用。点击“新游戏”时播放“新游戏”提示音乐。实现代码如下:int max=1;this.textBox_系统生成数.Text=;this.stime.Text=;for (int i=0;i8)2新游戏开始时,需要定义一个随机数实例,供系统判断用户所猜数字是否正确。即要有一个可生成随机数的机器,生成的随机数范围必须在机器生成数的上、下限范围内。系统中具体代码实现如下:Random newrandom=new Random();随机数=newrandom.Next(max/10,max-1);3在进行排行榜操作时,要用到写数据库操作。以纯次数排名为实例,我们组合一个SQL语句,S
32、QL的规范为字符,文本等用单引号括起,数字,货币等不用。我们在组合这个SQL语句的string时,将每个字段的数据先定义为变量,具体代码操作如下:string 时间=System.DateTime.Now.ToString();string 类型=纯次数排名;double 成绩=次数/位数;写数据库(insert into 名次表 values(+类型+,+姓名+,+次数+,无,+位数+,+成绩+,+时间+);4游戏系统中不同的控件功能发出不同的音效,具体代码实现如下: this.axWindowsMediaPlayer1.URL=Application.StartupPath+music+音
33、乐名;结 论在电脑普及发展的今天,在人们不断注重休闲游戏的现状下,我们更需要越来越多的此类休闲益智型游戏。通过本次课题的研究,休闲益智型游戏又多了一种新的猜数游戏模式。本系统巧妙运用Visual C# Windows窗口下的模块控件精致的设计出了一款操作简单,环境舒适,训练一定逻辑和解谜能力的休闲娱乐益智型游戏。经最终测试,系统功能运行正常,已达到预期目标。其主要创意展现在它的游戏欢迎界面,游戏设置界面,游戏等待界面,游戏猜数界面及游戏排行榜五大界面之上。玩家在游戏此游戏时,可根据不同界面的提示进行猜数操作:设置猜数(设定次数、时间、位数等),进行猜数,在排行榜中查询自己的猜数成绩结果排名等。
34、希望通过本次系统开发与设计给人们带来更多一点的乐趣!参考文献 1 王昊亮,李刚.Visual C#程序设计教程M.北京:清化大学出版社,2003.2 罗宾逊美,内格尔美.C#高级编程M.北京:清华大学出版社,2005.6.3 刘瑞新.C#网络编程及应用M.北京:机械工业出版社,2004.6.4 马煜,欧立奇,朱晓冰.Visual C#.NET设计师之路M.北京:电子工业出版社,2006.2.5 Stephen G.Kochan美.C语言编程M.张小滔译.北京:电子工业出版社,2006.10.6 明日科技.C#数据库系统开发完全手册M.北京:人民邮电出版社,2006.12.7 刘烨,吴中元.C#
35、编程及应用程序开发教程M.北京:清华大学出版社,2003.致 谢本文是在王永丽老师的热情关心和指导下完成的,她渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向她表示我最衷心的感谢!感谢本小组所有同学在课题研究初期给予的帮助,在他们的帮助下课题才得以很好的展开,有了一个很好的开端!感谢张鹏同学在猜数游戏软件的设计开发中给予的帮助,因为他的协助,才得以高质量的完成了此次毕业设计,获取了珍贵的相关资料!在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!作者简介:姓 名:黄梅 性别:女 出生年月:1983年11月26日 民族:汉族E-mail:xuanxuan338声 明本论文的工作是 2007年2月至2007年6月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。关于学位论文使用权和研究成果知识产权的说明:本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括