VB课程设计益智类算数小游戏.docx

上传人:b****7 文档编号:9137970 上传时间:2023-02-03 格式:DOCX 页数:37 大小:1.67MB
下载 相关 举报
VB课程设计益智类算数小游戏.docx_第1页
第1页 / 共37页
VB课程设计益智类算数小游戏.docx_第2页
第2页 / 共37页
VB课程设计益智类算数小游戏.docx_第3页
第3页 / 共37页
VB课程设计益智类算数小游戏.docx_第4页
第4页 / 共37页
VB课程设计益智类算数小游戏.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

VB课程设计益智类算数小游戏.docx

《VB课程设计益智类算数小游戏.docx》由会员分享,可在线阅读,更多相关《VB课程设计益智类算数小游戏.docx(37页珍藏版)》请在冰豆网上搜索。

VB课程设计益智类算数小游戏.docx

VB课程设计益智类算数小游戏

吉林工程技术师范学院

《VB课程设计》

设计题目:

益智类算数小游戏

专业:

信息管理与信息系统

班级:

X0841学号:

33

学生姓名:

刘忠宇

指导教师:

孟宇桥高汝仪

 

2010年7月

信息工程学院

 

摘要:

………………………02

第一章绪论………………………03

第二章系统分析………………………04

第三章总体设计………………………06

第四章编码实现………………………07

第五章调试与测试………………………10

总结:

………………………14

 

附录:

1源代码………………………16

2参考资料………………………34

 

摘要

随着软件技术以及互联网技术的不断发展,游戏产业发展迅速,已经成为经济增民的一个亮点。

实践是软件开发的核心,对代码要求精益求精,在开发的过程中,简单设计,用测试驱动,通过重构和迭代代码实现设计。

VisualBasic,其中主要地介绍了VisualBasic6.0,以及VisualBasic的编程环境。

同时通过小游戏简单介绍了利用VisualBasic6.0开发游戏的处理过程。

主要介绍了24点游戏的开发,包括界面的设计和相应的界面设计原则,还介绍了其开发环境。

同时也对游戏系统的公共功能模块做了阐述。

通过对该课题的研究设计,对如何运用VisualBasic来设计游戏有了一定程度的了解,并对如何设计游戏的构架有所掌握。

关键词:

编程VisualBasic模块算法

第一章绪论

可视化前台编程的思想应用于软件开发过程中,指导开发活动的系统方法,它吸取了结构化程序设计的精华,以更接近人们通常思维的方式来处理问题,是一种全新的软件开发技术。

作为一种编程语言,VisualBasic很大程度推广了可视化窗体思想。

随着计算机技术的发展,VB.NET的强大展现出它不可替代的作用,VB的功能不仅体现在网络方面的应用,对于应用程序设计、游戏设计等都能满足需求。

本文针对的具体应用,设计了VB一个小游戏。

根据游戏的规则,用户将可以和计算机进行简单对战。

程序实现了友好的用户交互界面,让用户能很好地对游戏进行操作

计算机技术的应用正在朝着网络化的方向阔步前进。

VB为其提供了简便并且功能强大的编程接口。

开发人员生成独立于平台的应用程序,用VB编写的程序可以在许多硬件平台上运行而不需要重新编译。

VB最强大的是网络方面的应用,本课程设计不涉及网络方面的应用。

 

第二章系统分析

程序用到了很多有关VB.NET的语法:

Msgbox(Prompt[,Buttons][,Title])方法,这个方法主要用于弹出消息框,在这个程序中,你会经常看到这样的语法,主要用于提示玩家相关的信息。

Prompt:

消息框中的提示信息。

Enabled语句,这个语句在程序里主要是用于控制按钮,标签等控件是否可用。

Val语句,这个语句主要用于类型转换,TextBox.text只支持字符串格式,而加、减、乘、除等的运算需要时数字才可以,所以要通过Val将字符串类型转换为数字类型,让后进行运算。

Buttons。

显示按钮,是个枚举类型MsgBoxStyle值。

用来控制在对话框内显示的按钮类型、数目及图标样式。

Title。

消息框的标题。

若省略,则默认为当前的应用程序的名称。

Try…catch…Endtry语句。

这是个异常处理的语法,在本程序中主要用于判断玩家输入的是否为字母,如果是字母或者是不正确的数字,则会被该语句捕捉到错误,然后抛出异常。

Tostring语法

该语法主要用于类型转换。

在次程序中,类似于x,n之类的数字类型变量无法被label.text的字符串类型接受,所以需要用到该语法进行强制的类型转换,将数字类型转换为字符串类型。

Inputbox(prompt[,Title][,Default][,XPos][YPos])

(1)Prompt。

输入框中的提示文字。

(2)Title。

输入框的标题。

(3)Default。

显示在输入文本框中的默认内容,省略则显示空串。

(4)XPos。

指定对话框左边界和屏幕左边界的间距。

省略时对话框位于水平方向中心。

(5)YPos。

指定对话框上边界和屏幕上边界的间距。

省略时对话框位于竖直方向,大约在屏幕上边界往下三分之一的地方

If…else语法

主要用语判断玩家的余额和输入的数字是否超出规定的范围。

Me.width的意思是该窗体的宽度。

在此程序中主要是调整欢迎语句的位置。

Backcolor用于改边背景颜色。

此程序主要用来改变标签的背景颜色。

在此程序中我用到了Rnd()方法,它的功能主要是在0到1之间随机的生成个小数,再通过Int()方法强制转换为整型,就实现了所有数字的随机产生。

在设计Sub过程的时候,考虑到简单明了,Sub开始EndSub结束方法都是在默认属性中创建和实现的。

我们设计的优点是:

条理清晰,容易理解,容易修改。

 

第三章总体设计

 

一对Form1窗体的设定,在窗体中添加LableBox,Button按钮的添加,及对整个界面布局!

二在相应的控件中添加程序,在Button1中赋予点击按钮将加号给指定的标签label5,Button2中赋予点击按钮将减号给指定的标签label6,Button3中赋予点击按钮将除号给指定的标签label7.这样可以实现符号的操作,

三在开始按钮中设置默认值,并将控件中的数据清空,设置按钮不可用,及在开始按钮中随机给一组数字在1到13之间的数,这是通过Rnd来实现的在这其中还需要考虑不出现零的情况,避免带来不必要的麻烦。

四在确认按钮中设置程序实现的过程,最主要的算法,是通过select语句来实现的,通过select语句分情况逐个实现可能遇到的问题并将其成功的解决。

五最后通过MsgBox语句来实现输出实现的运行结果。

这是通过IfElse语句来实现判断的过程。

六在找不到答案的情况下或一时想不起的时候可以放弃此组数据,可以选择放弃按钮,放弃按钮主要是对数据清空工作。

第四章编码实现

一加法button1按钮中设置

IfLabel5.Text=""Then

Label5.Text="+"

ElseIfLabel6.Text=""Then

Label6.Text="+"

ElseIfLabel7.Text=""Then

Label7.Text="+"

ElseIfButton1.Enabled=FalseThen

EndIf

减法Button2按钮中设置

IfLabel5.Text=""Then

Label5.Text="-"

ElseIfLabel6.Text=""Then

Label6.Text="-"

ElseIfLabel7.Text=""Then

Label7.Text="-"

ElseIfButton1.Enabled=FalseThen

EndIf

除法Button3按钮中设置

IfLabel5.Text=""Then

Label5.Text="/"

ElseIfLabel6.Text=""Then

Label6.Text="/"

ElseIfLabel7.Text=""Then

Label7.Text="/"

ElseIfButton1.Enabled=FalseThen

EndIf

乘法Button4按钮中设置

IfLabel5.Text=""Then

Label5.Text="*"

ElseIfLabel6.Text=""Then

Label6.Text="*"

ElseIfLabel7.Text=""Then

Label7.Text="*"

ElseIfButton1.Enabled=FalseThen

EndIf

 

二开始按钮中设置

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.Enabled=True

Button1.Enabled=True

Button8.Enabled=True

Button9.Enabled=True

Label5.Text=""

Label6.Text=""

Label7.Text=""

三在确认按钮中设置

DimaAsInteger

SelectCaseLabel5.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)

Case"*"a=Val(Label1.Text)+Val(Label2.Text)+Val(Label3.Text)*Val(Label4.Text)

EndSelect

四在放弃按钮中设置

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=""

Label6.Text=""

Label7.Text=""

 

第五章调试与测试

一控件布置及相关的设置:

二控件中的源代码的实现

 

 

三程序的试运行

总结语:

作为率先推广前台编程思想的语言,VB却不是革命性的东西,所有现有的VB的思想都是继承自其他的语言和技术,没有什么革命的地方。

但是VB在真正推动可视化前台编程思想方面是功不可没的。

使用VB编程,你无需考虑到向后兼容什么语言的问题,它是重新建立的语言,你在掌握这门语言之前,你必须将自己的编程思想由过程编程彻底转向编程,因为每个VB程序,你编写任何VB程序,你都不自觉的在构造一个模块,过程。

相对于另一门面向对象的语言C++而言,VB在面向对象的贯彻方面要比C++彻底。

有人说“C++是打着面向对象的幌子,干着过程编程的勾当”或许不是言过其辞,C++继承了C的面向过程的一些特性,而VB几乎都用了面向对象的思想来实现程序。

但是无论是c++还是VB都有可能走过程编程的老路,VB降低的过程编写的可能性,但是如果你没有具备面编程思想,你还是可能走面向过程的老路的。

程序中生成了几个对象,均为较简单的对象,而却难免会步入面向过程的老路,但这看似是却是难免的:

实现游戏规则,就要把过程写出来。

 

最近接触了许多软件工程方面的知识,深深感到程序设计要走的路之漫长。

理解课程设计如果想要做好,绝不是一朝一夕的事。

本次设计的每一个阶段:

系统分析、总体设计、编码实现、调试与测试,都是我在不断学习的情况下完成的。

而在这些过程中不断体会软件设计的各个步骤、各个环节,又转到不断学习中去。

古语有云“工欲善其事,必先利其器”,当初朦朦胧胧地写了代码,就体会到学习VB仍然是处于初步阶段,远远不够“善其事”。

只是VB的学习是要不断把所学和所用结合的,一次课程设计可以体会到知识的不足,而后补充所需的知识,再进行实践,再发现不足,如此不断,才能慢慢体会这门语言的精髓。

再如软件设计。

毋庸置疑,本次课程设计只是让我“摸一下软件设计”。

如专家所说,软件文档的编写是应当占了软件设计的90%的时间精力的,文档写好了,随便一个程序员都能做出软件来。

可见软件文档的重要性。

对于只是“了解软件工程”的我们来说,编写文档莫过于一件痛苦的事――并没有系统地学习过,却要一点一点地用出来。

洋洋洒洒的一本书,不禁为要走的路之漫长艰辛感慨不已。

但是倘若是真的有兴趣有毅力,这些应当不在话下。

是故,本次课程设计带给我的不仅仅是为未来打基础这么简单的收获,更多的是一种认识。

小至一门课程、一门语言,大至一门专业、一段人生,若不是热情主动刻苦地学习,将一无所获。

 

附录:

1源代码

PublicClassForm1

InheritsSystem.Windows.Forms.Form

#Region"Windows窗体设计器生成的代码"

PublicSubNew()

MyBase.New()

'该调用是Windows窗体设计器所必需的。

InitializeComponent()

'在InitializeComponent()调用之后添加任何初始化

EndSub

'窗体重写dispose以清理组件列表。

ProtectedOverloadsOverridesSubDispose(ByValdisposingAsBoolean)

IfdisposingThen

IfNot(componentsIsNothing)Then

components.Dispose()

EndIf

EndIf

MyBase.Dispose(disposing)

EndSub

'Windows窗体设计器所必需的

PrivatecomponentsAsSystem.ComponentModel.IContainer

'注意:

以下过程是Windows窗体设计器所必需的

'可以使用Windows窗体设计器修改此过程。

'不要使用代码编辑器修改它。

FriendWithEventsLabel1AsSystem.Windows.Forms.Label

FriendWithEventsLabel2AsSystem.Windows.Forms.Label

FriendWithEventsLabel3AsSystem.Windows.Forms.Label

FriendWithEventsLabel4AsSystem.Windows.Forms.Label

FriendWithEventsLabel5AsSystem.Windows.Forms.Label

FriendWithEventsLabel6AsSystem.Windows.Forms.Label

FriendWithEventsLabel7AsSystem.Windows.Forms.Label

FriendWithEventsLabel16AsSystem.Windows.Forms.Label

FriendWithEventsButton1AsSystem.Windows.Forms.Button

FriendWithEventsButton2AsSystem.Windows.Forms.Button

FriendWithEventsButton3AsSystem.Windows.Forms.Button

FriendWithEventsButton4AsSystem.Windows.Forms.Button

FriendWithEventsButton7AsSystem.Windows.Forms.Button

FriendWithEventsButton8AsSystem.Windows.Forms.Button

FriendWithEventsButton9AsSystem.Windows.Forms.Button

FriendWithEventsLabel8AsSystem.Windows.Forms.Label

PrivateSubInitializeComponent()

DimresourcesAsSystem.Resources.ResourceManager=NewSystem.Resources.ResourceManager(GetType(Form1))

Me.Label1=NewSystem.Windows.Forms.Label

Me.Label2=NewSystem.Windows.Forms.Label

Me.Label3=NewSystem.Windows.Forms.Label

Me.Label4=NewSystem.Windows.Forms.Label

Me.Label5=NewSystem.Windows.Forms.Label

Me.Label6=NewSystem.Windows.Forms.Label

Me.Label7=NewSystem.Windows.Forms.Label

Me.Label16=NewSystem.Windows.Forms.Label

Me.Button1=NewSystem.Windows.Forms.Button

Me.Button2=NewSystem.Windows.Forms.Button

Me.Button3=NewSystem.Windows.Forms.Button

Me.Button4=NewSystem.Windows.Forms.Button

Me.Button7=NewSystem.Windows.Forms.Button

Me.Button8=NewSystem.Windows.Forms.Button

Me.Button9=NewSystem.Windows.Forms.Button

Me.Label8=NewSystem.Windows.Forms.Label

Me.SuspendLayout()

'

'Label1

'

Me.Label1.BackColor=System.Drawing.Color.Transparent

Me.Label1.Font=NewSystem.Drawing.Font("宋体",24.0!

System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,CType(134,Byte))

Me.Label1.Location=NewSystem.Drawing.Point(56,56)

Me.Label1.Name="Label1"

Me.Label1.Size=NewSystem.Drawing.Size(56,56)

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=NewSystem.Drawing.Font("宋体",24.0!

System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,CType(134,Byte))

Me.Label2.Location=NewSystem.Drawing.Point(168,56)

Me.Label2.Name="Label2"

Me.Label2.Size=NewSystem.Drawing.Size(56,56)

Me.Label2.TabIndex=1

Me.Label2.Text="Label2"

Me.Label2.TextAlign=System.Drawing.ContentAlignment.MiddleCenter

'

'Label3

'

Me.Label3.BackColor=System.Drawing.Color.Transparent

Me.Label3.Font=NewSystem.Drawing.Font("宋体",24.0!

System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,CType(134,Byte))

Me.Label3.Location=NewSystem.Drawing.Point(272,56)

Me.Label3.Name="Label3"

Me.Label3.Size=NewSystem.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.Font=NewSystem.Drawing.Font("宋体",24.0!

System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,CType(134,Byte))

Me.Label4.Location=NewSystem.Drawing.Point(392,56)

Me.Label4.Name="Label4"

Me.Label4.Size=NewSystem.Drawing.Size(56,48)

Me.Label4.Tab

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1