VB课程设计益智类算数小游戏_第1页
VB课程设计益智类算数小游戏_第2页
VB课程设计益智类算数小游戏_第3页
VB课程设计益智类算数小游戏_第4页
VB课程设计益智类算数小游戏_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、吉林工程技术师范学院vb课程设计设计题目: 益智类算数小游戏 专 业: 信息管理与信息系统 班 级: x0841 学 号: 33 学生姓名: 刘忠宇 指导教师: 孟宇桥 高汝仪 2010年7月信息工程学院目 录摘 要 : 02第 一章 绪 论 03第二章 系统分析 04第三章 总体设计 06第四章 编码实现 07第五章 调试与测试10总结: 14附录:1源代码 162参考资料 34摘要随着软件技术以及互联网技术的不断发展,游戏产业发展迅速,已经成为经济增民的一个亮点。实践是软件开发的核心,对代码要求精益求精,在开发的过程中,简单设计,用测试驱动,通过重构和迭代代码实现设计。visual bas

2、ic,其中主要地介绍了visual basic 6.0,以及visual basic的编程环境。同时通过小游戏简单介绍了利用visual basic 6.0开发游戏的处理过程。主要介绍了24点游戏的开发,包括界面的设计和相应的界面设计原则,还介绍了其开发环境。同时也对游戏系统的公共功能模块做了阐述。通过对该课题的研究设计,对如何运用visual basic来设计游戏有了一定程度的了解,并对如何设计游戏的构架有所掌握。关键词:编程 visual basic 模块 算法第一章 绪论 可视化前台编程的思想应用于软件开发过程中,指导开发活动的系统方法,它吸取了结构化程序设计的精华,以更接近人们通常思维

3、的方式来处理问题,是一种全新的软件开发技术。作为一种编程语言,visual basic很大程度推广了可视化窗体思想。随着计算机技术的发展,vb.net的强大展现出它不可替代的作用,vb的功能不仅体现在网络方面的应用,对于应用程序设计、游戏设计等都能满足需求。本文针对的具体应用,设计了vb一个小游戏。根据游戏的规则,用户将可以和计算机进行简单对战。程序实现了友好的用户交互界面,让用户能很好地对游戏进行操作 计算机技术的应用正在朝着网络化的方向阔步前进。vb为其提供了简便并且功能强大的编程接口。开发人员生成独立于平台的应用程序,用vb编写的程序可以在许多硬件平台上运行而不需要重新编译。 vb最强大

4、的是网络方面的应用,本课程设计不涉及网络方面的应用。第二章 系统分析 程序用到了很多有关vb.net的语法:msgbox(prompt,buttons,title)方法,这个方法主要用于弹出消息框,在这个程序中,你会经常看到这样的语法,主要用于提示玩家相关的信息。prompt:消息框中的提示信息。enabled语句,这个语句在程序里主要是用于控制按钮,标签等控件是否可用。val语句,这个语句主要用于类型转换,textbox.text只支持字符串格式,而加、减、乘、除等的运算需要时数字才可以,所以要通过val将字符串类型转换为数字类型,让后进行运算。buttons。显示按钮,是个枚举类型msgb

5、oxstyle值。用来控制在对话框内显示的按钮类型、数目及图标样式。title。消息框的标题。若省略,则默认为当前的应用程序的名称。 trycatchend try语句。 这是个异常处理的语法,在本程序中主要用于判断玩家输入的是否为字母,如果是字母或者是不正确的数字,则会被该语句捕捉到错误,然后抛出异常。 tostring语法 该语法主要用于类型转换。在次程序中,类似于x,n之类的数字类型变量无法被label.text的字符串类型接受,所以需要用到该语法进行强制的类型转换,将数字类型转换为字符串类型。 inputbox(prompt,title,default,xposypos)(1) pro

6、mpt。输入框中的提示文字。(2) title。输入框的标题。(3) default。显示在输入文本框中的默认内容,省略则显示空串。(4) xpos。指定对话框左边界和屏幕左边界的间距。省略时对话框位于水平方向中心。(5) ypos。指定对话框上边界和屏幕上边界的间距。省略时对话框位于竖直方向,大约在屏幕上边界往下三分之一的地方if else语法主要用语判断玩家的余额和输入的数字是否超出规定的范围。me.width的意思是该窗体的宽度。在此程序中主要是调整欢迎语句的位置。backcolor 用于改边背景颜色。此程序主要用来改变标签的背景颜色。在此程序中我用到了rnd()方法,它的功能主要是在0

7、到1之间随机的生成个小数,再通过int()方法强制转换为整型,就实现了所有数字的随机产生。在设计sub过程的时候,考虑到简单明了,sub开始 end sub 结束方法都是在默认属性中创建和实现的。我们设计的优点是:条理清晰,容易理解,容易修改。第三章 总体设计一对form1 窗体的设定,在窗体中添加lablebox,button按钮的添加,及对整个界面布局!二 在相应的控件中添加程序,在 button1中赋予点击按钮将加号给指定的标签label5,button2中赋予点击按钮将减号给指定的标签label6,button3中赋予点击按钮将除号给指定的标签label7.这样可以实现符号的操作, 三

8、 在开始按钮中设置默认值 ,并将控件中的数据清空,设置按钮不可用,及在开始按钮中随机给一组数字在1到13之间的数,这是通过rnd来实现的在这其中还需要考虑不出现零的情况,避免带来不必要的麻烦。四 在确认按钮中设置程序实现的过程,最主要的算法,是通过select语句来实现的 ,通过select语句分情况逐个实现可能遇到的问题 并将其成功的解决。五 最后通过msgbox语句来实现 输出实现的运行结果。这是通过if else语句来实现判断的过程。六 在找不到答案的情况下或一时想不起的时候可以放弃此组数据,可以选择放弃按钮,放弃按钮主要是对数据清空工作。第四章 编码实现一 加法button1按钮中设置

9、if label5.text = "" then label5.text = "+" elseif label6.text = "" then label6.text = "+" elseif label7.text = "" then label7.text = "+" elseif button1.enabled = false then end if减法button2按钮中设置 if label5.text = "" then label5.text

10、 = "-" elseif label6.text = "" then label6.text = "-" elseif label7.text = "" then label7.text = "-" elseif button1.enabled = false then end if除法button3按钮中设置 if label5.text = "" then label5.text = "/" elseif label6.text = "&q

11、uot; then label6.text = "/" elseif label7.text = "" then label7.text = "/" elseif button1.enabled = false then end if乘法button4按钮中设置if label5.text = "" then label5.text = "*" elseif label6.text = "" then label6.text = "*" elseif la

12、bel7.text = "" then label7.text = "*" elseif button1.enabled = false then end if二 开始按钮中设置label1.text = int(13 * rnd() + 1) label2.text = int(13 * rnd() + 1) label3.text = int(13 * rnd() + 1) label4.text = int(13 * rnd() + 1) button4.enabled = true button3.enabled = true button2.e

13、nabled = true button1.enabled = true button8.enabled = true button9.enabled = true label5.text = "" label6.text = "" label7.text = ""三 在确认按钮中设置dim a as integer select case label5.text case "+" a = val(label1.text) + val(label2.text) + val(label3.text) + val(la

14、bel4.text)case "-" a = val(label1.text) + val(label2.text) + val(label3.text) - val(label4.text) case "/" a = val(label1.text) + val(label2.text) + val(label3.text) / val(label4.text) case "*" a = val(label1.text) + val(label2.text) + val(label3.text) * val(label4.text)

15、 end select 四 在放弃按钮中设置 button9.enabled = false button8.enabled = false button4.enabled = false button3.enabled = false button2.enabled = false button1.enabled = false label1.text = "" label2.text = "" label3.text = "" label4.text = "" label5.text = ""

16、; label6.text = "" label7.text = "" 第五章 调试与测试一 控件布置及相关的设置:二 控件中的源代码的实现三 程序的试运行总结语:作为率先推广前台编程思想的语言,vb却不是革命性的东西,所有现有的 vb 的思想都是继承自其他的语言和技术,没有什么革命的地方。但是 vb 在真正推动可视化前台编程思想方面是功不可没的。使用 vb 编程,你无需考虑到向后兼容什么语言的问题,它是重新建立的语言,你在掌握这门语言之前,你必须将自己的编程思想由过程编程彻底转向编程,因为每个 vb 程序,你编写任何 vb 程序,你都不自觉的在构造一个

17、模块,过程。相对于另一门面向对象的语言c+而言,vb 在面向对象的贯彻方面要比 c+ 彻底。有人说“c+ 是打着面向对象的幌子,干着过程编程的勾当”或许不是言过其辞,c+继承了c的面向过程的一些特性,而vb几乎都用了面向对象的思想来实现程序。但是无论是 c+ 还是 vb都有可能走过程编程的老路, vb 降低的过程编写的可能性,但是如果你没有具备面编程思想,你还是可能走面向过程的老路的。程序中生成了几个对象,均为较简单的对象,而却难免会步入面向过程的老路,但这看似是却是难免的:实现游戏规则,就要把过程写出来。 最近接触了许多软件工程方面的知识,深深感到程序设计要走的路之漫长。理解课程设

18、计如果想要做好,绝不是一朝一夕的事。本次设计的每一个阶段:系统分析、总体设计、编码实现、调试与测试,都是我在不断学习的情况下完成的。而在这些过程中不断体会软件设计的各个步骤、各个环节,又转到不断学习中去。古语有云“工欲善其事,必先利其器”,当初朦朦胧胧地写了代码,就体会到学习vb仍然是处于初步阶段,远远不够“善其事”。只是vb的学习是要不断把所学和所用结合的,一次课程设计可以体会到知识的不足,而后补充所需的知识,再进行实践,再发现不足,如此不断,才能慢慢体会这门语言的精髓。再如软件设计。毋庸置疑,本次课程设计只是让我“摸一下软件设计”。如专家所说,软件文档的编写是应当占了软件设计的90%的时间

19、精力的,文档写好了,随便一个程序员都能做出软件来。可见软件文档的重要性。对于只是“了解软件工程” 的我们来说,编写文档莫过于一件痛苦的事并没有系统地学习过,却要一点一点地用出来。洋洋洒洒的一本书,不禁为要走的路之漫长艰辛感慨不已。但是倘若是真的有兴趣有毅力,这些应当不在话下。是故,本次课程设计带给我的不仅仅是为未来打基础这么简单的收获,更多的是一种认识。小至一门课程、一门语言,大至一门专业、一段人生,若不是热情主动刻苦地学习,将一无所获。附录:1源代码 public class form1 inherits system.windows.forms.form#region " win

20、dows 窗体设计器生成的代码 " public sub new() mybase.new() '该调用是 windows 窗体设计器所必需的。 initializecomponent() '在 initializecomponent() 调用之后添加任何初始化 end sub '窗体重写 dispose 以清理组件列表。 protected overloads overrides sub dispose(byval disposing as boolean) if disposing then if not (components is nothing) t

21、hen components.dispose() end if end if mybase.dispose(disposing) end sub 'windows 窗体设计器所必需的 private components as system.componentmodel.icontainer '注意: 以下过程是 windows 窗体设计器所必需的 '可以使用 windows 窗体设计器修改此过程。 '不要使用代码编辑器修改它。 friend withevents label1 as system.windows.forms.label friend withe

22、vents label2 as system.windows.forms.label friend withevents label3 as system.windows.forms.label friend withevents label4 as system.windows.forms.label friend withevents label5 as system.windows.forms.label friend withevents label6 as system.windows.forms.label friend withevents label7 as system.wi

23、ndows.forms.label friend withevents label16 as system.windows.forms.label friend withevents button1 as system.windows.forms.button friend withevents button2 as system.windows.forms.button friend withevents button3 as system.windows.forms.button friend withevents button4 as system.windows.forms.butto

24、n friend withevents button7 as system.windows.forms.button friend withevents button8 as system.windows.forms.button friend withevents button9 as system.windows.forms.button friend withevents label8 as system.windows.forms.label <system.diagnostics.debuggerstepthrough()> private sub initializec

25、omponent() dim resources as system.resources.resourcemanager = new system.resources.resourcemanager(gettype(form1) me.label1 = new system.windows.forms.label me.label2 = new system.windows.forms.label me.label3 = new system.windows.forms.label me.label4 = new system.windows.forms.label me.label5 = n

26、ew system.windows.forms.label me.label6 = new system.windows.forms.label me.label7 = new system.windows.forms.label me.label16 = new system.windows.forms.label me.button1 = new system.windows.forms.button me.button2 = new system.windows.forms.button me.button3 = new system.windows.forms.button me.bu

27、tton4 = new system.windows.forms.button me.button7 = new system.windows.forms.button me.button8 = new system.windows.forms.button me.button9 = new system.windows.forms.button me.label8 = new system.windows.forms.label me.suspendlayout() ' 'label1 ' me.label1.backcolor = system.drawing.co

28、lor.transparent me.label1.font = new system.drawing.font("宋体", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label1.location = new system.drawing.point(56, 56) me.label1.name = "label1" me.label1.size = new system.drawing.size(56, 56

29、) me.label1.tabindex = 0 me.label1.text = "label1" me.label1.textalign = system.drawing.contentalignment.middlecenter ' 'label2 ' me.label2.backcolor = system.drawing.color.transparent me.label2.font = new system.drawing.font("宋体", 24.0!, system.drawing.fontstyle.bold

30、, system.drawing.graphicsunit.point, ctype(134, byte) me.label2.location = new system.drawing.point(168, 56) me.label2.name = "label2" me.label2.size = new system.drawing.size(56, 56) me.label2.tabindex = 1 me.label2.text = "label2" me.label2.textalign = system.drawing.contentali

31、gnment.middlecenter ' 'label3 ' me.label3.backcolor = system.drawing.color.transparent me.label3.font = new system.drawing.font("宋体", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label3.location = new system.drawing.point(272, 56)

32、 me.label3.name = "label3" me.label3.size = new system.drawing.size(56, 48) me.label3.tabindex = 2 me.label3.text = "label3" me.label3.textalign = system.drawing.contentalignment.middlecenter ' 'label4 ' me.label4.backcolor = system.drawing.color.transparent me.label4

33、.font = new system.drawing.font("宋体", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label4.location = new system.drawing.point(392, 56) me.label4.name = "label4" me.label4.size = new system.drawing.size(56, 48) me.label4.tabindex = 3

34、 me.label4.text = "label4" me.label4.textalign = system.drawing.contentalignment.middlecenter ' 'label5 ' me.label5.backcolor = system.drawing.color.transparent me.label5.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphi

35、csunit.point, ctype(134, byte) me.label5.location = new system.drawing.point(128, 72) me.label5.name = "label5" me.label5.size = new system.drawing.size(24, 23) me.label5.tabindex = 4 me.label5.text = "label5" me.label5.textalign = system.drawing.contentalignment.middlecenter 

36、9; 'label6 ' me.label6.backcolor = system.drawing.color.transparent me.label6.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label6.location = new system.drawing.point(232, 72) me.label6.name = &quo

37、t;label6" me.label6.size = new system.drawing.size(24, 23) me.label6.tabindex = 5 me.label6.text = "label6" me.label6.textalign = system.drawing.contentalignment.middlecenter ' 'label7 ' me.label7.backcolor = system.drawing.color.transparent me.label7.font = new system.dra

38、wing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.label7.location = new system.drawing.point(344, 72) me.label7.name = "label7" me.label7.size = new system.drawing.size(24, 23) me.label7.tabindex = 6 me.label7.text = &qu

39、ot;label7" me.label7.textalign = system.drawing.contentalignment.middlecenter ' 'label16 ' me.label16.backcolor = system.drawing.color.transparent me.label16.font = new system.drawing.font("宋体", 24.0!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype

40、(134, byte) me.label16.location = new system.drawing.point(480, 56) me.label16.name = "label16" me.label16.size = new system.drawing.size(80, 48) me.label16.tabindex = 15 me.label16.text = "=24" me.label16.textalign = system.drawing.contentalignment.middlecenter ' 'button

41、1 ' me.button1.backcolor = system.drawing.color.transparent me.button1.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.button1.location = new system.drawing.point(96, 176) me.button1.name = "button1

42、" me.button1.size = new system.drawing.size(56, 32) me.button1.tabindex = 16 me.button1.text = "+" ' 'button2 ' me.button2.backcolor = system.drawing.color.transparent me.button2.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.d

43、rawing.graphicsunit.point, ctype(134, byte) me.button2.location = new system.drawing.point(184, 176) me.button2.name = "button2" me.button2.size = new system.drawing.size(56, 32) me.button2.tabindex = 17 me.button2.text = "-" ' 'button3 ' me.button3.backcolor = system

44、.drawing.color.transparent me.button3.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134, byte) me.button3.location = new system.drawing.point(272, 176) me.button3.name = "button3" me.button3.size = new system.

45、drawing.size(64, 32) me.button3.tabindex = 18 me.button3.text = "*" ' 'button4 ' me.button4.backcolor = system.drawing.color.transparent me.button4.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.bold, system.drawing.graphicsunit.point, ctype(134

46、, byte) me.button4.location = new system.drawing.point(368, 176) me.button4.name = "button4" me.button4.size = new system.drawing.size(64, 32) me.button4.tabindex = 19 me.button4.text = "/" ' 'button7 ' me.button7.backcolor = system.drawing.color.transparent me.button

47、7.font = new system.drawing.font("宋体", 24.0!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.button7.location = new system.drawing.point(56, 288) me.button7.name = "button7" me.button7.size = new system.drawing.size(88, 64) me.button7.tab

48、index = 22 me.button7.text = "开始" ' 'button8 ' me.button8.backcolor = system.drawing.color.transparent me.button8.font = new system.drawing.font("宋体", 21.75!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.button8.location = n

49、ew system.drawing.point(192, 288) me.button8.name = "button8" me.button8.size = new system.drawing.size(80, 64) me.button8.tabindex = 23 me.button8.text = "确认" ' 'button9 ' me.button9.backcolor = system.drawing.color.transparent me.button9.font = new system.drawing.fo

50、nt("宋体", 21.75!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.button9.location = new system.drawing.point(352, 288) me.button9.name = "button9" me.button9.size = new system.drawing.size(80, 56) me.button9.tabindex = 24 me.button9.text =

51、 "放弃" ' 'label8 ' me.label8.backcolor = system.drawing.color.transparent me.label8.font = new system.drawing.font("宋体", 12.0!, system.drawing.fontstyle.regular, system.drawing.graphicsunit.point, ctype(134, byte) me.label8.location = new system.drawing.point(584, 264)

52、 me.label8.name = "label8" me.label8.size = new system.drawing.size(176, 104) me.label8.tabindex = 25 me.label8.text = "游戏说明 : 点击开始会随机生成四个113之间的数字,通过加减乘除运算使得结果等于24!祝你好运" ' 'form1 ' me.autoscalebasesize = new system.drawing.size(6, 14) me.backgroundimage = ctype(resources.getobject("$this.backgroundimage"), system.drawing.image) me.clientsize = new system.drawing.size(752, 365) me.controls.add(me.label8) m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论