




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
射击游戏设计报告(VB) 编号:38射击游戏设计报告学院:土木工程 班级:测绘C111班 学号:117536 姓名:冯子帆 成绩_一、 设计思路1、要达到的目的 培养学生综合利用VB语言进行程序设计,解决实际问题的能力。2.基本要求用鼠标点击随机出现的靶子,打中不同区域,得分不同。用两个Label控件分别显示点击次数和得分。3.创新要求在基本要求达到后,进行创新设计,创新方向提示如下:增加难度选项,改变靶子出现的频率;细化计分等级,从圆心到最外圈分10-1分;增加对战模式,允许两人游戏,分别显示成绩;其他你能够想到或者希望实现的功能。3.关键问题的解决(1) 问题描述点击“开始”,靶子在窗体上随机出现,用鼠标点击,击中靶心得10分,击中中间的7分,击中外圈的5分,没有击中得0分。每次点击后,显示成绩和点击次数。(2)问题的解决方案设计程序界面。主窗体如上图。窗体左侧画一个Frame控件,然后在上创建一个Shape控件数组(3个同心圆),Height属性取不同值(半径不同)。在右侧画一个Frame控件,在其内部添加2个Label控件,显示成绩和点击次数。在其下添加一个“开始”按钮和“退出”按钮。分析程序构成在Timer事件里,随机产生最外圈圆的坐标,把最外圈圆移位到新位置,内部两个圆与最外圈圆的相对位置在程序启动时记录到全局数组里,保持与外圈圆的同步移动。鼠标点击点的坐标与圆心坐标的距离Distance小于最小半径的10分。编写代码鼠标点击点的坐标与圆心坐标的距离:Distance = Int(Sqr(Y - (Shape1(0).Top + Shape1(0).Height 2) 2 + (X - (Shape1(0).Left + Shape1(0).Width 2) 2)得分计算: If Distance Shape1(2).Height 2 Then Score = Score + 10 ElseIf Distance Shape1(1).Height 2 Then Score = Score + 7 ElseIf Distance Shape1(1).Height 2 Then Score = Score + 5 Else Score = Score + 0 End If(3)主要技术问题的描述本题技术重点:3个同心圆的同步移动以及把其移动范围限制在Frame框架内。二、模块之间的调用关系,或程序流程图 CommandLabelFrame 主程序开始按钮结束按钮Label1ShapeLabel2Frame1Frame2三个同心圆位置及移动调用Frame1靶子随机出现结束游戏设计次数得分确定打靶区域存放label三、部分程序关键源代码及注释Dim number As Integer, score As Single, distance As IntegerPrivate Sub command1_click() number = 0 Timer1.Enabled = True 控件的enabled属性 End SubPrivate Sub frame1_mousedown(button As Integer, shift As Integer, x As Single, y As Single)根据鼠标点击点的坐标与圆心坐标的距离确定得分distance = Int(Sqr(y - (Shape1(2).Top + Shape1(2).Height 2) 2 + (x - (Shape1(2).Left + Shape1(2).Width 2) 2)If distance Shape1(0).Height 2 Then score = score + 10 ElseIf distance Shape1(1).Height 2 Then score = score + 7 ElseIf distance Shape1(1).Height 2 Then score = score + 5 Else score = score + 0 End Ifnumber = number + 1End SubPrivate Sub timer1_timer()设计frame的大小及位置w = Rnd * (Frame1.Width - 2400)h = Rnd * (Frame1.Height - 2400)设置内部两个圆与最外圈圆的相对位置,并保持同步移动 Shape1(2).Top = h Shape1(2).Left = w Shape1(1).Top = h + 180 Shape1(1).Left = w + 180 Shape1(0).Top = h + 360 Shape1(0).Left = w +360 记录射击次数和分数 Text1.Text = number Text2.Text = score End SubPrivate Sub command2_click()End 退出End Sub四、设计方案的完善及目前存在的问题1设计方案要完善的地方界面的美观设置程序代码的编写2. 目前存在的问题没有创新设计对timer事件不够熟悉设计时间不够五、本次设计的收获及心得体会 经过半年的vb学习,我并没有很好的掌握一些比较难的编程语言。Vb设计对我来说还是一个比较大的问题,经过这次的设计,我得到的不只是知识的升华,更是心灵上的洗礼。以下是我在设计中遇到的问题、困难及心得。“射击游戏”看上去不是一道特别复杂的题,主要涉及Shape控件数组、Frame控件等知识,要求用鼠标点击随机出现的靶子,打中不同区域,得分不同。用两个Label控件分别显示点击次数和得分。其中,在设计这些程序的时候,设计“3个同心圆的同步移动以及把其移动范围限制在Frame框架内”难住了我,我有点沮丧,设计不出来。后经过翻阅资料书、问同学写出来了。另外,我对timer事件不是特别熟悉,不太会用,经过查阅资料、翻书,对其有了深层了解,这次设计让我对vb编程有了新的认识,只要用心vb不是很难。完成之后我很有成就感,当然有开心也有苦恼。另外,我觉得学校给的课设时间太短了,好多选择比较难一点题目的同学不能很好的完成,加上学校机房的设备不够好等一系列问题同学们不能很好的发挥。我觉得学校如果分组进行课设会对同学们更有帮助,毕竟快期末考试了。当然,收获是最大的。在课设过程中,我学会了淡定、学会了戒骄戒躁、学会了独立完成作业。更加提高了vb语言编程能力,收获颇多。六、对该题目和VB设计的意见和建议1. 对该题目的意见和建议该题目是C类题,相对比较简单,代码不足100行,符合大部分学生的能力。创新设计的内容很好,利于提高学生的能力。意见:有些创新设计可以加到基本要求里,这样可以更好的提高同学们的动手动脑能力。2对本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年防雷认证试题及答案
- 2025年幼儿教师资格证综合素质考试题及答案
- 2025年全科医生职业资格考试试卷及答案
- 家政员技能竞赛创新创业项目商业计划书
- 智能化养猪管理系统创新创业项目商业计划书
- 果脯及水果罐头创新创业项目商业计划书
- 家政员生活辅导服务创新创业项目商业计划书
- 客户旅程痛点识别与解决创新创业项目商业计划书
- 水果温室种植加工一体化创新创业项目商业计划书
- 屠宰工艺改进咨询创新创业项目商业计划书
- 消毒供应质量控制指标(2024年版)
- (完整)公共基础知识题库及答案
- TCCPEF 086-2024 生态环境数智化监测与预警技术规范
- 产品开发生产合同8篇
- 篮球场围网施工方案
- 盘柜安装施工方案
- 中医面瘫护理个案汇报
- 《水基路用聚合物稳定碎石基层技术规程》
- 快递柜租赁合同
- 产品研发流程管理指南
- 《车刀与切削原理》课件
评论
0/150
提交评论