欢迎来到天天文库
浏览记录
ID:43325975
大小:92.30 KB
页数:4页
时间:2019-09-29
《Vb课程设计-射击游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、射击游戏设计报告一、设计思路1.要达到的目的培养学生综合利用VB语言进行程序设计,解决实际问题的能力。2.基本要求用鼠标点击随机岀现的靶子,打中不同区域,得分不同。用两个Label控件分别显示点击次数和得分。3.创新要求在基本要求达到后,进行创新设计,创新方向提示如下:①增加难度选项,改变靶子出现的频率;②细化计分等级,从圆心到最外圈分10-1分;③增加对战模式,允许两人游戏,分别显示成绩;④其他你能够想到或者希望实现的功能。3•关键问题的解决(1)问题描述点击“开始”,靶子在窗体上随机出现,用鼠标点击,击中靶心得10分,击中中间的7分,击中外
2、圈的5分,没有击屮得0分。每次点击后,显示成绩和点击次数。(2)问题的解决方案①设计程序界面。主窗体如上图。窗体左侧画一个Frame控件,然后在上创建一个Shape控件数纽.(3个同心圆),Height属性取不同值(半径不同)。在右侧画一个Frame控件,在其内部添加2个Label控件,显示成绩和点击次数。在其下添加一个“开始”按钮和“退出”按钮。②分析程序构成在Timer事件里,随机产生最外圈圆的坐标,把最外圈圆移位到新位置,内部两个圆与最外圈圆的相对位査在程序启动时记录到全局数组里,保持与外圈圆的同步移动。鼠标点击点的坐标少圆心坐标的距离D
3、istance小于最小半径的10分。③编写代码鼠标点击点的坐标与圆心坐标的距离:Distance=Int(Sqr((Y-(Shapol(0).Top+Shapel(0).Height2))2+(X-(Shapel(0).Left+Shapel(0).Width2))"2))得分计算:IfDistance4、enElseScore=Score+0EndIf(3)主要技术问题的描述本题技术重点:3个同心圆的同步移动以及把其移动范围限制在Frame框架内。二、模块之间的调用关系,或程序流程图主程序LabelFrame1ShapeFramc2三个同心圆位置及移Frame1靶子随机出现结束游戏设得il-分次数确定打靶存放label三、部分程序关键源代码及注释DimnumberAsInteger,scoreAsSingle,distaneeAsIntegerPrivateSubcommand1_c1ick()number=0Timerl.Enabled=Tr5、ue'控件的enabled属性EndSubPrivateSubframe1mousedown(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)'根据鼠标点击点的坐标与圆心坐标的距离确定得分distance=Int(Sqr((y-(Shape1(2).Top+Shapel(2).Height2))"2+(x-(Shapel(2).Left+Shapel(2).Width2))"2))Ifdistance6、istance7、.Left=wShapel(1).Top=h+180Shapel(1).Left=w+180Shapel(0).Top二h+360Shapel(0).Left=w+360'记录射击次数和分数Text1.Text二numberText2.Text=scoreEndSubPrivateSubcommand2_click()End'退出EndSub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①界而的美观设置②程序代码的编写2.目前存在的问题①没有创新设计②对timer事件不够熟悉③设计时间不够五、本次设计的收获及心得体会经过半年的vb学8、习,我并没有很好的掌握一些比较难的编程语言。Vb设计对我來说还是一个比较大的问题,经过这次的设计,我得到的不只是知识的升华,更是心灵上的洗礼。以下是我
4、enElseScore=Score+0EndIf(3)主要技术问题的描述本题技术重点:3个同心圆的同步移动以及把其移动范围限制在Frame框架内。二、模块之间的调用关系,或程序流程图主程序LabelFrame1ShapeFramc2三个同心圆位置及移Frame1靶子随机出现结束游戏设得il-分次数确定打靶存放label三、部分程序关键源代码及注释DimnumberAsInteger,scoreAsSingle,distaneeAsIntegerPrivateSubcommand1_c1ick()number=0Timerl.Enabled=Tr
5、ue'控件的enabled属性EndSubPrivateSubframe1mousedown(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)'根据鼠标点击点的坐标与圆心坐标的距离确定得分distance=Int(Sqr((y-(Shape1(2).Top+Shapel(2).Height2))"2+(x-(Shapel(2).Left+Shapel(2).Width2))"2))Ifdistance6、istance7、.Left=wShapel(1).Top=h+180Shapel(1).Left=w+180Shapel(0).Top二h+360Shapel(0).Left=w+360'记录射击次数和分数Text1.Text二numberText2.Text=scoreEndSubPrivateSubcommand2_click()End'退出EndSub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①界而的美观设置②程序代码的编写2.目前存在的问题①没有创新设计②对timer事件不够熟悉③设计时间不够五、本次设计的收获及心得体会经过半年的vb学8、习,我并没有很好的掌握一些比较难的编程语言。Vb设计对我來说还是一个比较大的问题,经过这次的设计,我得到的不只是知识的升华,更是心灵上的洗礼。以下是我
6、istance7、.Left=wShapel(1).Top=h+180Shapel(1).Left=w+180Shapel(0).Top二h+360Shapel(0).Left=w+360'记录射击次数和分数Text1.Text二numberText2.Text=scoreEndSubPrivateSubcommand2_click()End'退出EndSub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①界而的美观设置②程序代码的编写2.目前存在的问题①没有创新设计②对timer事件不够熟悉③设计时间不够五、本次设计的收获及心得体会经过半年的vb学8、习,我并没有很好的掌握一些比较难的编程语言。Vb设计对我來说还是一个比较大的问题,经过这次的设计,我得到的不只是知识的升华,更是心灵上的洗礼。以下是我
7、.Left=wShapel(1).Top=h+180Shapel(1).Left=w+180Shapel(0).Top二h+360Shapel(0).Left=w+360'记录射击次数和分数Text1.Text二numberText2.Text=scoreEndSubPrivateSubcommand2_click()End'退出EndSub四、设计方案的完善及目前存在的问题1.设计方案要完善的地方①界而的美观设置②程序代码的编写2.目前存在的问题①没有创新设计②对timer事件不够熟悉③设计时间不够五、本次设计的收获及心得体会经过半年的vb学
8、习,我并没有很好的掌握一些比较难的编程语言。Vb设计对我來说还是一个比较大的问题,经过这次的设计,我得到的不只是知识的升华,更是心灵上的洗礼。以下是我
此文档下载收益归作者所有