已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长江大学工程技术学院VB语言程序设计课程设计报告(2010-2011学年 第二学期)系 (部)机械系专业班级机电一体化 机电60904学生姓名郑勇学号/序号200962160/31指导教师张国英/牧青完成时间2011年7月2日目录1 设计目的和要求 2 1.1 设计界面 22 概要设计32.1 功能模块 3 2.2 界面设计 3 2.3 游戏控件属性设置 43 详细设计 43.1 控件介绍 4 3.2 游戏主程序 74 效果分析设计方案完善 74.1 游戏界面 95 心得体会 106参考文献 11打字游戏设计一、功能描述本程序是利用vb编写的一个打字游戏,游戏具有功能:上方有文字掉下,按键可将其击掉,有速度选择,难度选择,难度低时为单个字符,难度高时为单词。本游戏,让人在体验趣味的同时也提高了自己的打字速度,尤其使用于初学打字的朋友们!可以让用户从零开始逐步变为打字高手,短时间内运指如飞! 本设计报告包括初始的设计想法,概要设计和详细设计。详细设计包括界面设计和所需代码,及其运行后的结果图,以便具体使用。 键盘打字游戏,用以在游戏中提高用户打字速度。要求: (1)练习的范围是:19,az,AZ共62个字符,基本能满足键盘练习的要求。 (2)每次从窗口上端随机出现一个彩色字符,每隔一定时间(级数*100毫秒)下降一次,用户从键盘键入相同的字符,则字符被击中消失,用户得分增加10减去下降次数,字符键入不同则扣10分,若一直不能击中,则下降10次后到达窗口底端消失,窗口上端出现一个新的字符。 (3)游戏共分10级,第10级最低,每级游戏中底为50分,得到300分则过关 。 程序界面设计如下图图1:程序界面设计图二、概要设计 1 功能模块开始界面得分控制开始退出帮助得分超过一定分数则进入下一关第一关本游戏练习范围:09,az,AZ.总分10级,每得300分上升一级,最高为1级.字符下降的速度为级数*100毫秒,下降10次后字符消失,并扣去10分,新的字符出现. 每一次成功击落字符的得分为10-下降次数End Sub图2:打字游戏流程图2. 界面设计 (1)加ProgressBar控件箱中,方法是:“工程”菜单键中选择“部件”,在部件对话框中“空间”选择卡中,选中“Microsoft Windows Common controls 6.0”,单击“确定”后返回。可以看到工具箱中多了一些空间。其中川图标即为progressBar控件 (2)依次往窗口上添加三个CommandButton控件、一个PictureBox控件、一个ProgressBar控件、两个Label控件和一个Timer控件(尤其要注意Label控件要在pictureBox控件中添加)。这样,打字窗口可以选择PictureBox控件,而字符的下降则可由Labe控件在PictureBox中移动来实现。各控件属性设置如下表:表1:打字游戏各控件属性设置控制对象名属性属性值实现的功能FormCaption打字游戏Command1Caption开始游戏开始Command2Caption帮助游戏说明ToolTipText游戏说明Command3Caption退出退出游戏Timer1EnabledFalsePic1Backcolor&H00FFFFFF&白色Scaleheight2500自负每次下降值为250LblwordCaption空AutosizeTrueFontTimersNew Roman18LblshowCaption您的得分:Font宋体加粗16ProgressBar1Max300Scrolling1三、详细设计 (1)打字窗口可以选择PictureBox控件,而字符的下降则可由Label控件在PictureBox中移动来实现。所以在界面设计时要先添加PictureBox控件,再在PictureBox控件中来添加Label控件,这样Label控件的容器就是PictureBox控件,以实现能在其中移动。 (2)字符通过随机函数(Rnd)来产生 ,由于三组字符分别在三个连续的ASCII码区域,所以可以先产生一个随机数,确定要出现的字符是数字、小写字母还是大学字母,然后在不同的区域产生随机数。字符总是从窗口的顶端出现,水平位置及颜色随机产生。 (3)用ProgressBar控件来计分,程序中要使用的重要属性有以下几项 : Max:控件容许使用的最大值 Min:控件容许使用的最小值 Value:控件当前的值 (4)每一级游戏开始时,要将程序焦点赋予给打字窗口即PictureBox控件 ,通过键盘按键(发生Keypress事件)所得的ASCII码来判断是否击中目标 。代码实现Dim df, jb, xjcs As Integer, zf As IntegerSub init() Timerl.Interval = jb * 100 df = 50 ProgressBarl.Value = df Timerl.Enabled = True wordEnd SubSub word()Dim char As Integer, lef As Integer Forml.Caption = 第 & jb & 级 lblword.Visible = False Randomize If zf = 0 Then char = 97 + Int(Rnd * 26) End If If zf = 1 Then char = 65 + Int(Rnd * 26) End If If zf = 2 Then char = 48 + Int(Rnd * 10) End If If zf = 3 Then char = Int(Rnd * 2) Select Case char Case 0 char = 65 + Int(Rnd * 26) Case 1 char = 97 + Int(Rnd * 26) End Select End If If zf = 4 Then char = Int(Rnd * 2) Select Case char Case 0 char = 48 + Int(Rnd * 10) Case 1 char = 97 + Int(Rnd * 26) End Select End If If zf = 5 Then char = Int(Rnd * 2) Select Case char Case 0 char = 48 + Int(Rnd * 10) Case 1 char = 97 + Int(Rnd * 26) End Select End If If zf = 6 Then char = Int(Rnd * 3) Select Case char Case 0 char = 48 + Int(Rnd * 10) Case 1 char = 65 + Int(Rnd * 26) Case 2 char = 97 + Int(Rnd * 26) End Select End If lblword.Caption = Chr(char) lblword.Visible = True lef = Int(Rnd * Picl.ScaleWidth) - lblword.Width If lef = 0 Then lef = 50 lblword.Left = lef lblword.Top = 0 lblword.ForeColor = QBColor(Int(Rnd * 14 + 1) xjcs = 0 Picl.SetFocusEnd SubPrivate Sub Form_Load()jb = 10End SubPrivate Sub cmdbegin_Click()MsgBox 练习开始initEnd SubPrivate Sub cmdexit_Click()EndUnload MeEnd SubPrivate Sub cmdhelp_Click() MsgBox 本游戏练习范围:0到9,A到Z。共分十级,每得300分上升一级,最高为一级。 & vbCrLf & 字符下降的速度为级数*100毫秒,下降十次后字符消失,并扣去十分,新的字符出现。 & vbCrLf & 每一次成功击落字符的得分为10一下降次数End SubPrivate Sub jb11_Click(Index As Integer)jb = IndexEnd SubPrivate Sub Picl_KeyPress(KeyAscii As Integer)If Chr$(KeyAscii) = lblword.Caption Thendf = df + 10 - xjcsIf df = 1 Then MsgBox 恭喜过关了!请参加 & jb - 1 & 级练习., , 打字练习jb = jb - 1If jb = 0 Then jb = 10: MsgBox 恭喜全部过关!initEnd IfwordElsedf = df - 10End IfEnd SubPrivate Sub Timerl_Timer()Dim ladd, sele As Integerlblword.Top = lblword.Top + 250xjcs = xjcs + 1If lblword.Top = Picl.ScaleHeight Then df = df - 10: wordIf df 0 Thensele = MsgBox(游戏结束,不继续练习?, vbYesNo, 打字练习)If sele - vbYes TheninitElselblword.Visible = FalseTimerl.Enabled = FalseProgressBarl.Value = 50End IfElseProgressBarl.Value = dfEnd IfEnd SubPrivate Sub zfxz_Click(Index As Integer)zf = IndexEnd Sub四、效果分析以及设计方案的完善游戏的开始界面g图3:游戏开始界面图游戏的运行界面,有得分、剩余能量等的显示图4:游戏运行界面规定的时间不为零,但剩余能量为零了。则游戏结束图5:游戏结束如果剩余能量不为零,但时间为零了则游戏闯关成功。显示您的等级和分数在游戏中有等级的难易之分。当打中的个数到达一定数量时即分数到达一定值时速度的等级就会随之增加我们也可以直接选择速度的等级进行游戏。五、心得体会为期两周的VB程序设计已经悄然结束,本次我的课题是“打字游戏设计”。此次的课程设计让我感受颇多,特别自主学习和同学协助方面,在这段时间里我把自己学的书本知识,真正放在课题上的到实践,不仅仅锻炼的自己的开发能力,也发现了自己书本学习和实际解决问题之间的差距。课程设计让我掌握了VB程序设计的主要功能,较能够熟练的运用一些基本控件及程序语言。虽然对有些控件的操作还未能完全懂透,但通过这次课程设计大大提高对其他控件的了解,在以后的编程中起到了积极作用,也使我明白其实一颗执着追求知识不断学习锻炼应用知识的心才是解决问题的最核心要素。 在课程设计过程中,最先,老师给我们一个项目要求和各项需要达到的要求和功能,它有一定的难度,需要我们全身心的投入其中,认真运用所学的知识积极思考;然后自己根据要求规划好自己的课程设计实验项目的各项步骤,最好肯定自己的步骤安排一步步的敲入程序放入控件多次实验和运行检验它的合理性和是否达到所需要求。像这种比较小的程序的制作,虽然对所学知识的深度要求不是很高,但对个人细心的考验却近乎从始到终,它也需要的我们具有优秀的合作互助素质。单个人的能力永远不可能面面俱到,所以和同学们合作开发可以使自己的设计更完美。 课程设计是的VB代码编写很复杂、冗长,稍不慎就会输错字符,调试了好多次,失败了好多次,而仔细想想,归根究底还是在于自己心太浮躁,没耐心。VB的程序设计是一项不易的工作,没有一颗平静的心事完成不了的。我想,将来做许多事,也学要保持这么一种平和的心态,它是一种个人综合素质,是我们制胜的关键。 在课程设计的过程中,VB代码的编写即设计的主过程无疑是一个难点。 这部分内容虽然较难,但在我们的能力范围之内。有时遇到一些自己无法解决的问题,根本无从下手,最后还是找同学寻求帮助,上网查阅相关资料才解决了这些问题。从中我领悟到,亲自行动才是解决问题的最好方法。不管困难有多大,没有切实的行动是不行的,而这前提必然是自己要有解决问题的决心和坚韧不拔的毅力。同时,还明白了互助的团队精神。 此次课程项目对我们在大学学习,我觉得非常有必要,每次半天的上课编写程序既考验了我们的耐心也大大考查了自己的实践能力和解决问题速度,让自己对自己的知识掌握程度有了一个详细的理解,为自己再后面的学习生活规划提供了很重要的参考依据。 通过为期两周的VB课程设计课程,让我懂得:知识的作用贵在于学以致用,大学贵在于学习一种适合自己解决问题思考问题的思维方法。六、参考文献【1】
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年贵州省遵义市四年级语文期末高分黑金提分题详细参考解析详细答案和解析
- Photoshop初级考试题库(含答案及详细解析)
- 2025-2026学年江苏省江都市初中生物七年级期末下册深度自测黑金考题详细参考解析
- 钢丝绳捻股工安全操作规程
- 皮带巡检工安全操作规程
- 内异症术后复发预警症状清单标准共识
- 辊道窑安全操作规程
- PAHS多环芳烃基础知识考试试题及详细答案(实操版)
- 脱轻塔安全操作规程
- 中轴型脊柱关节炎早期识别指南(2026版)
- T/CNNDAS 002-2026芬太尼类药品单支识别码技术规范
- 2026山西教师职称考试(教育管理)历年参考题库含答案详解
- 2026年高校教师资格证(高等教育学)考试题库(带答案)
- 2026年四川省拟任县处级领导干部任职资格试题及参考答案
- 《演唱 山谷回声真好听》课件2026-2027学年西师大版一年级上册音乐
- 教师职业心理赋能 焕发育人全新活力课件
- 2026-2027学年川教版(新教材)小学信息科技六年级上册(全册)教学设计(附目录p73)
- 2026年中国银行考试题目及答案
- 一例丘脑出血合并肺部感染雾化吸入治疗个案护理
- 教科版三年级上册科学第二单元《水》单元测试卷含答案A4打印版
- 2027年中国电信集团有限公司校园招聘考试参考试题及答案详解
评论
0/150
提交评论