要求:
本次课程设计利用《软件设计基础-VB》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、界面设计美观、清楚、合理
4、编程简练,程序功能齐全,能正确运行
5、具有一定的创新性
6、说明书、流程图要清楚
7、课题完成后必须按要求提交课程设计报告
任务:
题目描述与功能要求
题目描述:“打冰雹”游戏是指从窗口顶部落下多个圆球表示的“冰雹”,用户使用鼠标来指引箭头表示的“枪”瞄准其中一个圆球,单击鼠标射击。如果打中圆球则加分,没打中减分。若累积有5个圆球一直未被击中而落到地面(用水平黑线表示),则失败。用户玩游戏的目标是尽量短的时间内得尽量多的分数,同时避免圆球落地。
功能要求:(1)设计图1.26(课本)所示的窗口界面。程序启动时,自动进入游戏状态,10个不同颜色的圆球从窗口顶部向下运动。用户使用鼠标指向其中一个圆球,然后单击。如果击中圆球则加1分,未击中则减1分,分数显示在“得分”文本框中。“所用时间”文本框中显示当前已用的时间。被击中的圆球立即消失,新的圆球从顶部落下。
(2)要求同时显示10个圆球,每个圆球的颜色和下落速度各不相同。窗口底部的箭头一直指向鼠标指针的方向。单击鼠标射击时,显示一条从箭头发出到达鼠标指针的直线表示子弹轨迹。
(3)程序共有4个难度等级,分别是“简单”、“中等”、“较难”和“高级”。默认的难受为“中等”。不同的等级对应不同的总体下落速度。在游戏过程中,随时可以通过“选择难度”组合框来改变难度级别。
(4)游戏开始时,提供的“能量”数是5。如果有一个圆球落到地面,则减1。当能量为0时,显示如图1.27所示的消息框。然后,程序自动将难度改为“简单”让用户重新开始,这时能量恢复为5,得分从0开始。
(5)圆球落地后立即消失,新的圆球从顶部落下,窗口上始终保持有10个圆球。
游戏过程中,当得分达到25时,显示如图1.28所示的提示;当得分达到50时,显示如图1.29所示的提示;当得分达到100时,显示如图1.30所示的提示,并自动将难度设为“较难”,当得分达到150时,自动将难度设为“高级”。
3.课程设计说明书
⑴功能描述;本题目的程序设计由三个窗体组成。
窗口一:为开始界面,主要实现游戏的开始、退出以及游戏规则介绍功能。
窗体二:为游戏界面,内设置游戏进行,可通过对combol的选择改变难易程度。
窗体三:为结束界面,主要目的,提醒玩家通关成功
(2)详细设计
总体流程图:
各功能模块流程图:
窗体一:开始界面
窗体二:游戏界面
窗体四:结束界面
⑷代码实现
本题目的程序设计由三个窗体组成。分别由五个Timer,五个TextBox,一个ComboBox,七个Line,十个shape十个Label,一个medio player等控件组成。窗体2为主要窗口,它的设计如下:
窗体2中控件列表
序号 控件名称 控件类型 功能
1 Label 标签 对文本框与组合框进行说明
作为提示,装饰界面
2 TextBox 文本框 显示程序运行的结果即得分Text1、剩余能量Text2、所用时间Text3(0)、Text3(1)、Text3(2)的数值
3 ComboBox 组合框 显示选择难度
4 Timer 定时器 在程序运行的过程中不断地累积时间,当达到给定的时间间隔时,自动地引发名为Timer的事件。Timer1控制冰雹下落的并通过combo-click选择不同的难程度掉冰雹的速度,timer2.timer3是记录玩游戏所用时间分别控制秒和毫秒
5
Picture 图片框 通过图片加载,装饰页面picture1是游戏中界面,picture2休息界面
6 Shape 形状 显示多种不同的形状,装饰窗体,这里即圆形
7 Line 直线 在窗体上显示一条直线。
Line2到Line7是做指针用的,Line1是作为冰雹没有打中落下去让冰雹消失
8 medieplayer 播放器 当鼠标击打冰雹时,放出声音
各窗体的代码介绍
form1—开始界面
作用:“进入应用程序”。
所用控件:4个标签,1个时钟,3个command
设计思路:用时钟控制label1的运动。单击command开始按钮可进入后面窗体,退出按钮可关闭窗体,帮助按钮查看游戏规则。
核心代码如下:
窗体1—开始界面
Private Sub Command1_Click()
Form2.Show
Unload Form1
Timer1.Enabled = True’开始按钮,控制游戏的开始
End S
2021-12-09 08:26:20
743B
打冰雹
1