射击游戏设计报告.doc

上传人:灯火****19 文档编号:135275196 上传时间:2020-06-14 格式:DOC 页数:5 大小:51KB
返回 下载 相关 举报
射击游戏设计报告.doc_第1页
第1页 / 共5页
射击游戏设计报告.doc_第2页
第2页 / 共5页
射击游戏设计报告.doc_第3页
第3页 / 共5页
射击游戏设计报告.doc_第4页
第4页 / 共5页
射击游戏设计报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《射击游戏设计报告.doc》由会员分享,可在线阅读,更多相关《射击游戏设计报告.doc(5页珍藏版)》请在金锄头文库上搜索。

1、 射击游戏设计报告(VB) 编号:38射击游戏设计报告学院:土木工程 班级:测绘C111班 学号:117536 姓名:冯子帆 成绩_一、 设计思路1、要达到的目的 培养学生综合利用VB语言进行程序设计,解决实际问题的能力。2.基本要求用鼠标点击随机出现的靶子,打中不同区域,得分不同。用两个Label控件分别显示点击次数和得分。3.创新要求在基本要求达到后,进行创新设计,创新方向提示如下:增加难度选项,改变靶子出现的频率;细化计分等级,从圆心到最外圈分10-1分;增加对战模式,允许两人游戏,分别显示成绩;其他你能够想到或者希望实现的功能。3.关键问题的解决(1) 问题描述点击“开始”,靶子在窗体

2、上随机出现,用鼠标点击,击中靶心得10分,击中中间的7分,击中外圈的5分,没有击中得0分。每次点击后,显示成绩和点击次数。(2)问题的解决方案设计程序界面。主窗体如上图。窗体左侧画一个Frame控件,然后在上创建一个Shape控件数组(3个同心圆),Height属性取不同值(半径不同)。在右侧画一个Frame控件,在其内部添加2个Label控件,显示成绩和点击次数。在其下添加一个“开始”按钮和“退出”按钮。分析程序构成在Timer事件里,随机产生最外圈圆的坐标,把最外圈圆移位到新位置,内部两个圆与最外圈圆的相对位置在程序启动时记录到全局数组里,保持与外圈圆的同步移动。鼠标点击点的坐标与圆心坐标

3、的距离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).Heig

4、ht 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 Inte

5、gerPrivate 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

6、 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 - 240

7、0)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四、设计方案的完善

8、及目前存在的问题1设计方案要完善的地方界面的美观设置程序代码的编写2. 目前存在的问题没有创新设计对timer事件不够熟悉设计时间不够五、本次设计的收获及心得体会 经过半年的vb学习,我并没有很好的掌握一些比较难的编程语言。Vb设计对我来说还是一个比较大的问题,经过这次的设计,我得到的不只是知识的升华,更是心灵上的洗礼。以下是我在设计中遇到的问题、困难及心得。“射击游戏”看上去不是一道特别复杂的题,主要涉及Shape控件数组、Frame控件等知识,要求用鼠标点击随机出现的靶子,打中不同区域,得分不同。用两个Label控件分别显示点击次数和得分。其中,在设计这些程序的时候,设计“3个同心圆的同步

9、移动以及把其移动范围限制在Frame框架内”难住了我,我有点沮丧,设计不出来。后经过翻阅资料书、问同学写出来了。另外,我对timer事件不是特别熟悉,不太会用,经过查阅资料、翻书,对其有了深层了解,这次设计让我对vb编程有了新的认识,只要用心vb不是很难。完成之后我很有成就感,当然有开心也有苦恼。另外,我觉得学校给的课设时间太短了,好多选择比较难一点题目的同学不能很好的完成,加上学校机房的设备不够好等一系列问题同学们不能很好的发挥。我觉得学校如果分组进行课设会对同学们更有帮助,毕竟快期末考试了。当然,收获是最大的。在课设过程中,我学会了淡定、学会了戒骄戒躁、学会了独立完成作业。更加提高了vb语言编程能力,收获颇多。六、对该题目和VB设计的意见和建议1. 对该题目的意见和建议该题目是C类题,相对比较简单,代码不足100行,符合大部分学生的能力。创新设计的内容很好,利于提高学生的能力。意见:有些创新设计可以加到基本要求里,这样可以更好的提高同学们的动手动脑能力。2对本次设计的意见和建议 设计时间不够充足,加上学校机房的设备不够先进,部分学生不能很好的完成题目,不能充分发挥能力。建议学校可以给多一点时间,让选题难的同学有时间做出来。另外,课设时间不太合理,临近期末考试,建议学校换种方法考察同学们的课设能力,课设可以分组进行,让同一组同学共同完成一个比较难的课题。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号