打地鼠 VB课程设计.docx
- 文档编号:9858992
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:16
- 大小:92.84KB
打地鼠 VB课程设计.docx
《打地鼠 VB课程设计.docx》由会员分享,可在线阅读,更多相关《打地鼠 VB课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
打地鼠VB课程设计
第1章课程设计目的与要求1
1.1课程设计目的1
1.2课程设计的实验环境1
1.3课程设计的预备知识1
1.4课程设计要求1
第2章课程设计内容2
2.1游戏介绍2
2.2游戏设计3
2.3游戏实现12
第3章课程设计总结14
参考文献15
第1章课程设计目的与要求
1.1课程设计目的
本课程的课程设计实际是学生学习完《可视化编程技术》课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。
1.2课程设计的实验环境
硬件要求能运行Windows9.X操作系统的微机系统。
软件:
MicrosoftVisualBasic6.0
1.3课程设计的预备知识
熟悉VisualBasic6.0程序设计的基本语法知识及常用技巧。
1.4课程设计要求
按课程设计指导书提供的课题,每个小组设计一个完整的小游戏应用程序。
要求根据规定设计游戏的具体要求,按照应用程序的设计步骤和VB的基本知识应用程序的分析与实现。
应根据后面给出的基本学时分配合理安排设计时间,并独立完成各方面的设计。
选择同一题目的同学,可以共同协作完成一个应用程序的开发任务。
要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。
在界面设计中,需画出每个窗体的布局,进行属性说明,杜绝雷同。
第2章
课程设计内容
2.1游戏介绍
2.1.1游戏规则
打地鼠是一种非常有趣的益智游戏。
游戏进行时,地鼠不断从洞中探出头再缩回去,当地鼠头在洞外时,可以通过按键的方式打击地鼠,时间到时游戏结束,打中地鼠次数越多得分越高,击错、逃跑数越多得分越低。
在英雄榜中保留前五名最高得分信息。
2.1.2游戏说明
进入“游戏”选择“打地鼠”,选择“开始/帮助/英雄榜”,按ok键确认选项,鼠标左键敲打地鼠。
鼠标左右键都可打击想、要能更快的打到地鼠连续打击左右键,那能加快打地鼠的次数。
2.2游戏设计
2.2.1界面设计:
打开标准EXE工程,先添加一个Label控件,属性为“得分”,然后再添加一个时间控件Timer,然后在添加5个图片控件,分别为Image1,Image2,Image3,Image4,Image5。
然后在在5个图片控件中分别添加。
如下图2.1所示。
图2.1游戏开始界面
2.2.2属性设置
Command1的属性设置为:
开始
Command2的属性设置为:
结束
计时器(Timer)的属性设置为:
Enabled设置为:
Fslse
Interval设置为:
700
2.2.3编程思路及代码
Dim鼠XAsSingle
Dim鼠YAsSingle
Dim地鼠AsByte
Dim对数AsInteger
Dim总数AsInteger
Sub判断(X,Y)
SelectCase地鼠
Case0,1,2
X=地鼠
Y=0
Case3,4,5
X=地鼠-3
Y=1
Case6,7,8
X=地鼠-6
Y=2
EndSelect
EndSub
PrivateSubForm_Load()
Randomize
Show
For地鼠=0To8
判断X,Y
Form1.PaintPictureImage5.Picture,1000+1050*X,1000+1050*Y
Next
总数=1
EndSub
PrivateSubForm_Load()
Randomize
Show
For地鼠=0To8
判断X,Y
Form1.PaintPictureImage5.Picture,1000+1050*X,1000+1050*Y
Next
总数=1
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.MoveX-Image1.Width/2,Y-Image1.Height/2
鼠X=Image1.Left
鼠Y=Image1.Top
Timer1.Enabled=True
Label2.Caption="运行中..."
EndSub
PrivateSubImage1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.Picture=Image3.Picture
xy=99
If鼠X>800And鼠X<1850Then
If鼠Y+1500>1600And鼠Y+1500<2350Thenxy=0
If鼠Y+1500>2650And鼠Y+1500<3400Thenxy=3
If鼠Y+1500>3700And鼠Y+1500<4450Thenxy=6
EndIf
If鼠X>1850And鼠X<2900Then
If鼠Y+1500>1600And鼠Y+1500<2350Thenxy=1
If鼠Y+1500>2650And鼠Y+1500<3400Thenxy=4
If鼠Y+1500>3700And鼠Y+1500<4450Thenxy=7
EndIf
If鼠X>2900And鼠X<3950Then
If鼠Y+1500>1600And鼠Y+1500<2350Thenxy=2
If鼠Y+1500>2650And鼠Y+1500<3400Thenxy=5
If鼠Y+1500>3700And鼠Y+1500<4450Thenxy=8
EndIf
If地鼠=xyThen
对数=对数+1
Label1.Caption="打中次数:
"&对数
判断X,Y
Form1.PaintPictureImage6.Picture,1000+1050*X,1000+1050*Y
EndIf
EndSub
PrivateSubImage1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.Move鼠X-(Image1.Width/2-X),鼠Y-(Image1.Height/2-Y)
鼠X=Image1.Left
鼠Y=Image1.Top
EndSub
PrivateSubImage1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.Picture=Image2.Picture
EndSub
PrivateSubTimer1_Timer()
总数=总数+1
判断X,Y
Form1.PaintPictureImage5.Picture,1000+1050*X,1000+1050*Y
地鼠=Int(Rnd*9)
判断X,Y
Form1.PaintPictureImage4.Picture,1000+1050*X,1000+1050*Y
If总数>100Then
Timer1.Enabled=False
判断X,Y
Form1.PaintPictureImage5.Picture,1000+1050*X,1000+1050*Y
If对数>100Then
msg=MsgBox("恭喜"+Chr(13)+"你以经爆机了,还要继续吗?
",vbYesNo,"地鼠娱乐部")
Else
msg=MsgBox("你以经过关了,您打中了"&对数&"次。
还要继续吗?
",vbYesNo,"地鼠娱乐部")
EndIf
Ifmsg=vbYesThen
总数=1
对数=0
Timer1.Enabled=True
Else
UnloadMe
EndIf
EndIf
EndSub
PrivateSub犯得上_Click(IndexAsInteger)
End
EndSub
PrivateSub关于_Click()
MsgBox"地鼠娱乐部"+Chr(13)+Chr(13)+"这是一个基于Windows98以上操作系统下"+Chr(13)+_
"用VB编写的程序",,"地鼠娱乐部"
EndSub
PrivateSub使用_Click()
MsgBox"欢迎来到地鼠娱乐部"+Chr(13)+"使用说明:
"+Chr(13)+"鼠标左右键都可打击"_
+"想要能更快的打到地鼠连续打击左右键,"+Chr(13)+"那能加快打地鼠的次数",,"地鼠娱乐部"
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.MoveX-Image1.Width/2,Y-Image1.Height/2
鼠X=Image1.Left
鼠Y=Image1.Top
Timer1.Enabled=True
Label2.Caption="运行中..."
EndSub
PrivateSubImage1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.Picture=Image3.Picture
xy=99
If鼠X>800And鼠X<1850Then
If鼠Y+1500>1600And鼠Y+1500<2350Thenxy=0
If鼠Y+1500>2650And鼠Y+1500<3400Thenxy=3
If鼠Y+1500>3700And鼠Y+1500<4450Thenxy=6
EndIf
If鼠X>1850And鼠X<2900Then
If鼠Y+1500>1600And鼠Y+1500<2350Thenxy=1
If鼠Y+1500>2650And鼠Y+1500<3400Thenxy=4
If鼠Y+1500>3700And鼠Y+1500<4450Thenxy=7
EndIf
If鼠X>2900And鼠X<3950Then
If鼠Y+1500>1600And鼠Y+1500<2350Thenxy=2
If鼠Y+1500>2650And鼠Y+1500<3400Thenxy=5
If鼠Y+1500>3700And鼠Y+1500<4450Thenxy=8
EndIf
If地鼠=xyThen
对数=对数+1
Label1.Caption="打中次数:
"&对数
判断X,Y
Form1.PaintPictureImage6.Picture,1000+1050*X,1000+1050*Y
EndIf
EndSub
PrivateSubImage1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.Move鼠X-(Image1.Width/2-X),鼠Y-(Image1.Height/2-Y)
鼠X=Image1.Left
鼠Y=Image1.Top
EndSub
PrivateSubImage1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Image1.Picture=Image2.Picture
EndSub
PrivateSubTimer1_Timer()
总数=总数+1
判断X,Y
Form1.PaintPictureImage5.Picture,1000+1050*X,1000+1050*Y
地鼠=Int(Rnd*9)
判断X,Y
Form1.PaintPictureImage4.Picture,1000+1050*X,1000+1050*Y
If总数>100Then
Timer1.Enabled=False
判断X,Y
Form1.PaintPictureImage5.Picture,1000+1050*X,1000+1050*Y
If对数>100Then
msg=MsgBox("恭喜"+Chr(13)+"你以经爆机了,还要继续吗?
",vbYesNo,"地鼠娱乐部")
Else
msg=MsgBox("你以经过关了,您打中了"&对数&"次。
还要继续吗?
",vbYesNo,"地鼠娱乐部")
EndIf
Ifmsg=vbYesThen
总数=1
对数=0
Timer1.Enabled=True
Else
UnloadMe
EndIf
EndIf
EndSub
PrivateSub犯得上_Click(IndexAsInteger)
End
EndSub
PrivateSub关于_Click()
MsgBox"地鼠娱乐部"+Chr(13)+Chr(13)+"这是一个基于Windows98以上操作系统下"+Chr(13)+_
"用VB编写的程序",,"地鼠娱乐部"
EndSub
PrivateSub使用_Click()
MsgBox"欢迎来到地鼠娱乐部"+Chr(13)+"使用说明:
"+Chr(13)+"鼠标左右键都可打击"_
+"想要能更快的打到地鼠连续打击左右键,"+Chr(13)+"那能加快打地鼠的次数",,"地鼠娱乐部"
EndSub
2.3游戏实现
2.3.1程序调试及测试:
程序调试的操作步骤如下:
(1)建立一标准EXE工程,将这一模块程序添加到工程中。
如果你是通过双击标准模块程序Model1.BAS进入VisualBasic系统的,则首先需要添加一个窗体模块。
(2)将该标准模块程序Model1.BAS中代码的指定的错误修改正确或在指定的空位填上适当的语句,并在窗体模块中编写代码(常常写在窗体的Click()事件中)调用标准模块中的Sub过程或用户自定义函数(如果在标准模块程序Model1.BAS有多个过程或函数,要注意调用的先后顺序,否则得不到正确结果),调试运行程序,使其能输出正确结果。
(3)按要求保存工程
程序功能测试如下:
经过代码测试正确的程序只是基本上验证了程序逻辑上的正确性,但并不能验证程序是否满足程序说明书中定义的功能,也不能验证测试数据本身是否完备。
程序功能测试则面向程序应用环境,把程序看做一个“黑匣子”,认为程序只要满足应用功能上的需求,就是可行的。
2.3.2游戏运行
此图是为进入游戏界面,单击开始按钮,游戏开始运行,此时单击鼠标左键进行游戏,如果中途放弃,单击结束按钮。
如图2.3所示:
图2.2游戏运行界面
此图为运行中图片,单击左键进行操作,用鼠标控制悬空的小锤砸地鼠,砸到就加分,依次累计,分高则过关。
如图2.4所示:
图2.3游戏运行中界面
此图为游戏结束界面,在游戏中会对打击地鼠次数进行累计并显示在操作界面上,分数达到一定时就过关。
如图2.5所示:
图2.4游戏结束界面
第3章课程设计总结
通过一个学期的学习,我认为要学好vb语言程序设计这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我得知识。
特别是作为高职生,更要注重实践这一环节,只有这样我们才能成为合格的电子专业人材。
这不,我们的动手机会来了,我们这组做的是打地鼠游戏的设计,对我来说是有一点难度的,但是通过两周的课程设计,我有很多有关于vb课程设计方面的心得体会,当我刚刚接触这个课程设计的时候,我感觉对我来说有些棘手,我根本不知道从何开始下手,但是在老师和同学的帮助下,我终于完成了这次课设。
我想没有他们我可能都要放弃了,因为我本人对动手做vb课设也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。
以前的c语言学的就是东一半西一半的,而且这么长时间没有接触c语言了有些东西都还给上帝了。
毕竟c语言是所有语言的基础,学好c语言其他的计算机语言就会学得轻松的多了。
一开始的程序这块儿我就有一点抓狂了。
因为我写的程序得有一半是错的。
后来请教我们班的同学和我们的老师,每次跟他们一起到试验室调试程序,看老师边做边给我们讲解。
最后在计算机上做出来的时候,虽然不是我们自己写的,但是也有我们自己思考而且做出来的成果,我也有一种分享到的成就感。
通过这次vb课程设计,我感觉到了课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,使用各种编程语言编写各种软件和游戏等已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学生来说掌握vb编程设计语言以及其他的汇编语言的开发技术是十分重要的。
所以虽然课社结束了,但我会继续学习vb编程语言教程。
回顾起此次vb课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多困难和问题,最后在王凤英老师的辛勤指导下,终于游逆而解。
同时,在王凤英老师的身上我学得到很多实用的知识,在次我表示感谢!
同时,我也要感谢给过我帮助的同学们,因为我们一组的同学在一起研究和思考才能完成这次课程设计。
参考文献
1.李一金,丁伟等编写,《VisualBasic6.0标准教程》,北京希望电子出版社
2.黄学中编著,《VisualBasic6.0教程》,北京科海集团公司
3.杨善林,冯光为等编著,《VisualBasic学习教程》,北京大学出版社
4.赵建敏,《VisualBasic6.0程序开发指南》,航空工业出版社
5.刘胜雷,《VisualBasic6.0开发使用手册》,机械工业出版社
6.魏东魏民,《Oracle与VisualBasic编程指南》,电子工业出版社
7.刘瑞新,《VisualBasic6.0程序设计教程》,机械工业出版社
8.王力华编著,《VisualBasic6.0时尚编程百例》,机械工业大学出版社
9.张雪编著,《VisualBasic编程高手》,人民大学出版社
10.田梅编著,《VisualBasic5.0代码设计》,人民邮电出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 打地鼠 VB课程设计 地鼠 VB 课程设计