VB小游戏设计_第1页
VB小游戏设计_第2页
VB小游戏设计_第3页
VB小游戏设计_第4页
VB小游戏设计_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

1、第1课程设计目的与要求 11.1 课程设计目的 1.1.2 课程设计的实验环境1.1.3 课程设计的预备知识 1.1.4 课程设计要求1.第2课程设计内容2.2.1 游戏介绍 2.2.2 游戏设计 2.2.3 游戏实现 1.0.第3课程设计总结1.3.参考文献 1.5.第1章 课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是学生学习完可视化编程技术课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。1.2 课程设计的实验环境硬件要求能运行Windows 9.X 操作系统的微机系统。软件: Microsoft

2、Visual Basic 6.01.3 课程设计的预备知识熟悉 Visual Basic 6.0 程序设计的基本语法知识及常用技巧。1.4 课程设计要求按课程设计指导书提供的课题,每个小组设计一个完整的小游戏应用程序。要求根据规定设计游戏的具体要求,按照应用程序的设计步骤和 VB 的基本知识应用程序的分析与实现。应根据后面给出的基本学时分配合理安排设计时间,并独立完成各方面的设计。选择同一题目的同学,可以共同协作完成一个应用程序的开发任务。要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。在界面设计中,需画出每个窗体的布局,进行属性说明,杜绝雷同。7第

3、2章课程设计内容2.1 游戏介绍2.1.1 游戏规则打地鼠是一种非常有趣的益智游戏。游戏进行时,地鼠不断从洞中探出头再缩回去, 当地鼠头在洞外时,可以通过按键的方式打击地鼠,时间到时游戏结束,打中地鼠次数 越多得分越高,击错、逃跑数越多得分越低。在英雄榜中保留前五名最高得分信息。2.1.2 游戏说明进入“游戏”选择“打地鼠”,选择“开始/帮助/英雄榜",按ok键确认选项,鼠 标左键敲打地鼠。鼠标左右键都可打击想、要能更快的打到地鼠连续打击左右键,那能加快打地鼠的 次数。2.2 游戏设计2.2.1 界面设计:打开标准EXE工程,先添加一个Label控件,属性为“得分”,然后再添加一个时

4、 间控件Timer,然后在添加5个图片控件,分别为Image1, Image2, Image3, Image4, Image5。然后在在5个图片控件中分别添加。如下图2.1所示。图 2.1 游戏开始界面2.2.2 属性设置Command的属性设置为:开始Command妁属性设置为:结束计时器(Timer )的属性设置为:Enabled 设置为:FslseInterval 设置为: 7002.2.3 编程思路及代码Dim 鼠 X As SingleDim 鼠 Y As SingleDim 地鼠 As ByteDim 对数 As IntegerDim 总数 As IntegerSub 判断 (X,

5、 Y)Select Case 地鼠Case 0, 1, 2X = 地鼠Y = 0Case 3, 4, 5X = 地鼠 - 3Y = 1Case 6, 7, 8X = 地鼠 - 6Y = 2End SelectEnd SubPrivate Sub Form_Load()RandomizeShowPrintFor 地鼠 = 0 To 8判断 X, YForm1.PaintPicture Image5.Picture, 1000 + 1050 * X, 1000 + 1050 * YNext总数 = 1End SubPrivate Sub Form_Load()RandomizeShowPrintF

6、or 地鼠 = 0 To 8判断 X, YForm1.PaintPicture Image5.Picture, 1000 + 1050 * X, 1000 + 1050 * YNext总数 = 1End SubPrivate Sub Form_MouseMove(ButtonAs Integer, Shift As Integer, X As Single, Y As Single)Image1.Move X - Image1.Width / 2, Y - Image1.Height / 2鼠 X = Image1.Left鼠 Y = Image1.TopTimer1.Enabled = Tr

7、ueLabel2.Caption = " 运行中 ."End SubPrivate Sub Image1_MouseDown(ButtonAs Integer, Shift As Integer, X As Single, Y As Single)Image1.Picture = Image3.Picturexy = 99X > 800 AndX < 1850 ThenIfIf鼠Y +1500> 1600 AndIf鼠Y +1500> 2650 AndIf鼠Y +1500> 3700 AndEnd IfIf 鼠 X > 1850 AndY

8、 + 1500 < 2350 Then xy = 0Y + 1500 < 3400 Then xy = 3Y + 1500 < 4450 Then xy = 6X < 2900 ThenIf鼠Y +1500> 1600 AndIf鼠Y +1500> 2650 AndIf鼠Y +1500> 3700 AndEnd IfIf 鼠 X > 2900 AndY + 1500 < 2350 Then xy = 1Y + 1500 < 3400 Then xy = 4Y + 1500 < 4450 Then xy = 7X < 395

9、0 ThenIf鼠Y +1500> 1600 AndIf鼠Y +1500> 2650 AndIf鼠Y +1500> 3700 AndEnd IfIf 地鼠 = xy Then对数 = 对数 + 1Label1.Caption = " 打中次数 :" &判断 X, YY + 1500 < 2350 Then xy = 2Y + 1500 < 3400 Then xy = 5Y + 1500 < 4450 Then xy = 8对数Form1.PaintPicture Image6.Picture, 1000 + 1050 * X,

10、1000 + 1050 * YEnd IfEnd SubPrivate Sub Image1_MouseMove(ButtonAs Integer, Shift As Integer, X As Single, Y As Single)Image1.Move 鼠 X - (Image1.Width / 2 - X), 鼠 Y - (Image1.Height / 2 - Y)鼠 X = Image1.Left鼠 Y = Image1.TopEnd SubPrivate Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Si

11、ngle,Y As Single)Image1.Picture = Image2.PictureEnd SubPrivate Sub Timer1_Timer()总数 = 总数 + 1判断 X, YForm1.PaintPicture Image5.Picture, 1000 + 1050 * X, 1000 + 1050 * Y地鼠 = Int(Rnd * 9)判断 X, YForm1.PaintPicture Image4.Picture, 1000 + 1050 * X, 1000 + 1050 * YIf 总数 > 100 ThenTimer1.Enabled = False判断

12、 X, YForm1.PaintPicture Image5.Picture, 1000 + 1050 * X, 1000 + 1050 * YIf 对数 > 100 Thenmsg = MsgBox("恭喜"+ Chr(13) + ”你以经爆机了,还要继续吗?", vbYesNo,"地鼠娱乐部 ")Elsemsg = MsgBox("你以经过关了,您打中了 " &对数& "次。还要继续吗?",vbYesNo," 地鼠娱乐部")End IfIf msg = vbY

13、es Then总数= 1对数= 0Timer1.Enabled = TrueElseUnload MeEnd IfEnd IfEnd SubPrivate Sub 犯得上 _Click(Index As Integer)EndEnd SubPrivate Sub 关于 _Click()MsgBox "地鼠娱乐部"+ Chr(13) + Chr(13) + "这是一个基于 Windows98以上操作系统下 " + Chr(13) + _"用VB编写的程序"一"地鼠娱乐部"End SubPrivate Sub 使用 _

14、Click()MsgBox "欢迎来到地鼠娱乐部" + Chr(13) + " 使用说明 :" + Chr(13) + " 鼠标左右键都可打击" _+ " 想要能更快的打到地鼠连续打击左右键, " + Chr(13) + " 那能加快打地鼠的次数", , " 地鼠娱乐部"End SubPrivate Sub Form_MouseMove(ButtonAs Integer, Shift As Integer, X As Single,Y As Single)Image1.Mov

15、e X - Image1.Width / 2, Y - Image1.Height / 2鼠 X = Image1.Left鼠 Y = Image1.TopTimer1.Enabled = TrueLabel2.Caption = " 运行中 ."End SubPrivate Sub Image1_MouseDown(ButtonAs Integer, Shift As Integer, X As Single,Y As Single)Image1.Picture = Image3.Picturexy = 99If 鼠 X > 800 And 鼠 X < 185

16、0 ThenIf鼠 Y+1500> 1600 AndIf鼠 Y+1500> 2650 AndIf鼠 Y+1500> 3700 AndY + 1500 < 2350 Then xy = 0Y + 1500 < 3400 Then xy = 3Y + 1500 < 4450 Then xy = 6End IfIf 鼠 X > 1850 And 鼠 X < 2900 ThenIf鼠Y +1500 > 1600 AndIf鼠Y +1500 > 2650 AndIf鼠Y +1500 > 3700 AndEnd IfIf 鼠 X >

17、2900 AndY + 1500 < 2350 Then xy = 1Y + 1500 < 3400 Then xy = 4Y + 1500 < 4450 Then xy = 7X < 3950 Then15Y + 1500 < 2350 Then xy = 2Y + 1500 < 3400 Then xy = 5Y + 1500 < 4450 Then xy = 8对数If鼠Y +1500 > 1600 AndIf鼠Y +1500 > 2650 AndIf鼠Y +1500 > 3700 AndEnd IfIf 地鼠 = xy The

18、n对数 = 对数 + 1Label1.Caption = " 打中次数 :" &判断 X, YForm1.PaintPicture Image6.Picture, 1000 + 1050 * X, 1000 + 1050 * YEnd IfEnd SubPrivate Sub Image1_MouseMove(ButtonAs Integer, Shift As Integer, X As Single, Y As Single)Image1.Move 鼠 X - (Image1.Width / 2 - X), 鼠 Y - (Image1.Height / 2 -

19、Y)鼠 X = Image1.Left鼠 Y = Image1.TopEnd SubPrivate Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Image1.Picture = Image2.PictureEnd SubPrivate Sub Timer1_Timer()总数 = 总数 + 1Form1.PaintPicture Image5.Picture, 1000 + 1050 * X, 1000 + 1050 * Y地鼠 = Int(Rnd * 9)判断 X, YFor

20、m1.PaintPicture Image4.Picture, 1000 + 1050 * X, 1000 + 1050 * YIf 总数 > 100 ThenTimer1.Enabled = False判断 X, YForm1.PaintPicture Image5.Picture, 1000 + 1050 * X, 1000 + 1050 * YIf 对数 > 100 Thenmsg = MsgBox("恭喜"+ Chr(13) + ”你以经爆机了,还要继续吗? ", vbYesNo,"地鼠娱乐部 ")Elsemsg = Msg

21、Box("你以经过关了,您打中了 " &对数& "次。还要继续吗?",vbYesNo," 地鼠娱乐部")End IfIf msg = vbYes Then总数= 1对数= 0Timer1.Enabled = TrueElseUnload MeEnd IfEnd IfEnd SubPrivate Sub 犯得上 _Click(Index As Integer)EndEnd SubPrivate Sub 关于 _Click()MsgBox "地鼠娱乐部"+ Chr(13) + Chr(13) + &qu

22、ot;这是一个基于 Windows98以上操作系统下 " + Chr(13) + _"用VB编写的程序"一"地鼠娱乐部"End SubPrivate Sub 使用 _Click()MsgBox "欢迎来到地鼠娱乐部" + Chr(13) + " 使用说明 :" + Chr(13) + " 鼠标左右键都可打击" _+ " 想要能更快的打到地鼠连续打击左右键, " + Chr(13) + " 那能加快打地鼠的次数", , " 地鼠娱乐部&q

23、uot;End Sub2.3 游戏实现2.3.1 程序调试及测试:程序调试的操作步骤如下:(1)建立一标准EXET程,将这一模块程序添加到工程中。如果你是通过双击标准模块程序Modell.BAS进入Visual Basic系统的,则首先需要添加一个窗体模块。(2)将该标准模块程序Modell.BAS中代码的指定的错误修改正确或在指定的空位填上适当的语句,并在窗体模块中编写代码(常常写在窗体的 Click() 事件中)调用标准模块中的Sub过程或用户自定义函数(如果在标准模块程序Modell.BAS有多个过程或函数,要注意调用的先后顺序, 否则得不到正确结果) ,调试运行程序,使其能输出正确 结

24、果。( 3)按要求保存工程程序功能测试如下:经过代码测试正确的程序只是基本上验证了程序逻辑上的正确性, 但并不能验证程序是否满足程序说明书中定义的功能,也不能验证测试数据本身是否完备。程序功能测试则面向程序应用环境, 把程序看做一个 “黑匣子” , 认为程序只要满足应用功能上的需 求,就是可行的。2.3.2 游戏运行此图是为进入游戏界面,单击开始按钮,游戏开始运行,此时单击鼠标左键进行游戏,如果中途放弃,单击结束按钮。如图 2.3 所示:图2.2 游戏运行界面此图为运行中图片,单击左键进行操作,用鼠标控制悬空的小锤砸地鼠,砸到就加 分,依次累计,分高则过关。如图2.4所示:图2.3游戏运行中界

25、面此图为游戏结束界面,在游戏中会对打击地鼠次数进行累计并显示在操作界面上, 分数达到一定时就过关。如图2.5所示:图2.4游戏结束界面第3章 课程设计总结通过一个学期的学习,我认为要学好VB语言程序设计这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我得知识。特别是作为高职生,更要注重实践这一环节,只有这样我们才能成为合格的电子专业人材。这不,我们的动手机会来了,我们这组做的是打地鼠游戏的设计,对我来说是有一点难度的,但是通过两周的课程设计,我有很多有关于VB课程设计方面的心得体会,当 我刚刚接触这个课程设计的时候,我感觉对我来说有些棘手,我根本不知道从何开始下手,但是

26、在老师和同学的帮助下,我终于完成了这次课设。我想没有他们我可能都要放弃了,因为我本人对动手做VB课设也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的C语言学的就是东一半西一半的,而且这么长时间没有接触C 语言了有些东西都还给上帝了。毕竟 C 语言是所有语言的基础,学好C 语言其他的计算机语言就会学得轻松的多了。一开始的程序这块儿我就有一点抓狂了。因为我写的程序得有一半是错的。后来请教我们班的同学和我们的老师,每次跟他们一起到试验室调试程序,看老师边做边给我们讲解。最后在计算机上做出来的时候,虽然不是我们自己写的,但是也有我们自己思考而且做出来的成果,我也有一种分享到的成

27、就感。通过这次 VB 课程设计,我感觉到了课程设计是培养学生综合运用所学知识 , 发现 ,提出 , 分析和解决实际问题 , 锻炼实践能力的重要环节, 是对学生实际工作能力的具体训练和考察过程. 随着科学技术发展的日新日异, 使用各种编程语言编写各种软件和游戏等已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。 因此作为二十一世纪的大学生来说掌握VB 编程设计语言以及其他的汇编语言的开发技术是十分重要的。所以虽然课社结束了,但我会继续学习VB编程语言教程。回顾起此次VB课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过

温馨提示

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

最新文档

评论

0/150

提交评论