VB上机练习5(简单空战游戏设计思路及代码)

VB上机练习5(简单空战游戏设计思路及代码)

ID:42819721

大小:72.00 KB

页数:4页

时间:2019-09-23

VB上机练习5(简单空战游戏设计思路及代码)_第1页
VB上机练习5(简单空战游戏设计思路及代码)_第2页
VB上机练习5(简单空战游戏设计思路及代码)_第3页
VB上机练习5(简单空战游戏设计思路及代码)_第4页
资源描述:

《VB上机练习5(简单空战游戏设计思路及代码)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VB上机练习5-键盘事件、时钟事件(2009-12-0408:13:24)[编辑][删除]标签:高中信息技术 算法与程序设计 教育 分类:算法与VB程序设计VB教学已有一段时间了,学生已经感受过新鲜、神奇、茫然。不能继续茫然了,怎么办呢,后面还有好几个难啃的算法,真是难为我这些学生了。后面的东西先放放吧,先来个简单游戏设计,重新激发下学生的兴趣。主题:用vb设计飞机射击游戏主要问题:(1)飞机移动控制;(2)子弹飞行,目标飞行;(3)子弹发射(4)是否命中新知识点:KeyPress()按键事件;timer()时钟事件;picturebox控件;imag

2、e控件;对象位置属性一、飞机移动控制功能:用键盘的的'A''D''W''S'4个键分别控制飞机左右上下移动。设计:用一个PictureBox控件当飞机,命名为picFJ,设置BorderStyle0-none,设置Picture飞机图片。【知识点】KeyPress(KeyAsciiasInteger)事件:即敲键盘时激发的事件。KeyPress定义方法:进入代码窗口,选择picFJ、选择KeyPress将出现下面代码块。PrivateSubpicFJ_KeyPress(KeyAsciiAsInteger)EndSubKeyAscii为传入参数,即用户所

3、敲键的Ascii码值,我们可以加行打印代码测试(PrintKeyAscii)PrivateSubpicFJ_KeyPress(KeyAsciiAsInteger)  printKeyAsciiEndSub调试程序,我们敲键时就会将所敲键的Ascii码打印到窗口。通过此测试我可以知道adws空格的Ascii码分别为:9710011911532接下来我们就可以写出如下代码:'控制飞机移动及子弹发射PrivateSubpicFJ_KeyPress(KeyAsciiAsInteger)   IfKeyAscii=97Then       'picFJ左移   

4、ElseIfKeyAscii=100Then       'picFJ右移   ElseIfKeyAscii=115Then       'picFJ下移   ElseIfKeyAscii=119Then       'picFJ上移   ElseIfKeyAscii=32Then       'picFJ发射子弹   EndIfEndSub对象位置移动:VB中对象的位置由两个参数控制,对象左角点相对窗体左边的距离Left;对象左角点相对窗体上边的距离Top(如图)。由此,要移动对象位置,只要改变这两个参数就可以了。飞机左移的代码为:picFJ.Lef

5、t=picFJ.Left-100,于是可写出如下代码:PrivateSubpicFJ_KeyPress(KeyAsciiAsInteger)   IfKeyAscii=97Then       'picFJ左移       picFJ.Left=picFJ.Left-100   ElseIfKeyAscii=100Then       'picFJ右移       picFJ.Left=picFJ.Left+100   ElseIfKeyAscii=115Then       'picFJ下移       picFJ.Top=picFJ.Top+100

6、   ElseIfKeyAscii=119Then       'picFJ上移       picFJ.Top=picFJ.Top-100   ElseIfKeyAscii=32Then       'picFJ发射子弹   EndIfEndSub二、子弹飞行功能:子弹飞行设计:用Image控件作子弹,名称为:imgZD,设置imgZD的Picture属性为子弹图片,设置index为0(将子弹对象构造成数组,因为会用到比较多的子弹)。分析:子弹飞行原理即子弹的位置不断改变(imgZD(0).Top=imgZD(0).Top-200)。用户只管发射,发

7、射后自动飞行。如何控制子弹自动改变位置,需要引进一个新的概念,时间控制动作。用到Timer控件。Timer控件有个Timer()事件。它的作用是每隔一段时间重复做某事。现在我们要的就是每隔一段时间重复执行子弹往上移动。设计:添加一个Timer对象,名称:Timer1,Interval(时间间隔,单位:毫秒)设置为40,双击Timer1的图标,将生成如下代码块:该代码块内的代码将每隔40毫秒执行一次。PrivateSubTimer1_Timer()EndSub要重复执行的代码为:imgZD(0).Top=imgZD(0).Top-200,于是可写出如下代

8、码PrivateSubTimer1_Timer()   if imgZD(0).top-img

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。