基于VB语言的赛车小游戏课程设计论文.doc
上传人:天马****23 上传时间:2024-09-12 格式:DOC 页数:30 大小:1.2MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于VB语言的赛车小游戏课程设计论文.doc

基于VB语言的赛车小游戏课程设计论文.doc

预览

免费试读已结束,剩余 20 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于VB语言的清新风格赛车小游戏——2012级<>《VB课程设计》题目:基于VB语言的赛车小游戏姓名:学号:201200800031学院:机电与信息工程学院专业:测控年级:系统简介背景与意义由于现在跑酷游戏非常流行,其快餐的游戏方式符合了当今人们的娱乐思维。简洁傻瓜的操作方式与记录系统的引入更是刺激了人们对其的热情。基于此,我便想用VB在PC端上做一个类似的跑酷小游戏,并且加入一些较为有趣的元素,使玩家能在这款小游戏中找到些许乐趣。基于此想法,我选择了以公路赛车为背景素材,制作一款简介的跑酷小游戏。游戏中,玩家操作赛车躲避途中随即出现的车辆,行驶的距离越长得分越高,如若撞到途中车辆游戏结束。在设计程序中,为了实现车辆行驶的效果,使用了计时器,通过计时器短周期移动背景,产生车辆在向前行驶的效果。在程序中,额外加入了不同的车辆外形供玩家选择,增加了趣味性,并且写入了计分系统与道具系统,使游戏更有目标性与可玩性。需求分析既然是一个游戏,首先必须能与人互动,因此程序必须引入接受键盘和鼠标信息输入的功能。其次,游戏中总是要有动画效果的,这个可以通过VB中的定时器实现。对于其他的一些额外功能,通过VB的一些基础功能、写与读外部文件等方式也均能实现,如记录系统,便通过读、写外部TXT文件内容实现。二.功能介绍程序的功能有:①赛车游戏系统:玩家可以通过键盘上的左右方向键操作赛车躲避路途中的障碍,在途中赛车的速度会随着时间越来越快;②计分与记录系统:随着游戏时间的增长,玩家在游戏中得到得分数会越来越高。同时游戏中有一个历史分数系统,会记录下玩家所得的最高分与玩家的姓名、创造纪录的时间,并且玩家可以在菜单中的“记录”选项中查看;③外观系统:玩家可以选择不同的赛车外观进行游戏;④道具系统:游戏途中会随机出现功能不同的道具,不同的道具有不同的功能。三.程序设计界面设计主界面:在游戏制作中,主要想采用比较清新简单的风格,因此主界面整体设计采用黑白简洁的色调,由于对VB自带按钮外观不是很满意,自行通过picturebox控件制作了一主界面按钮。车库界面:游戏中内置两种不同风格外貌的车体供玩家选择,单击按键即可完成更换。游戏说明界面:记录界面:显示创造纪录的玩家姓名,最高分与创纪录的时间。游戏界面:创新纪录时的界面:游戏界面也是才有黑白风格,所有车子的外貌风格比较童真(=。=我自己画的)。功能设计代码中变量:Dimlr'左右控制变量Dimud'上下控制变量Dima'游戏开始倒计时变量Dimb'调试变量Dimmax'最高分记录系统变量Dimbuff'道具系统变量Dimmus'音效变量Dimmuss'音效变量Label10.Caption:游戏速度Label7.Caption:玩家得分Label1.Caption:玩家操作赛车左右移动速度①基本车辆移动与操作功能:主要通过TIMER1实现,Label10中的数字为车辆移动速度,通过定时器不断移动程序中的相关图片,产生汽车跑动的效果。路途上的车辆通过Randomize函数产生随机数,使其出现在随机位置,当然一定是从窗口上方出现,移动到窗口最下方然后消失。玩家赛车的控制,通过KEYDOWN与KEYUP实现,定义控制全局变量lr,来控制玩家赛车左右移动。代码如下:'键盘控制:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyLeftThenlr="left"IfKeyCode=vbKeyRightThenlr="right"IfKeyCode=vbKeyUpThenud="down"IfKeyCode=vbKeyDownThenud="up"EndSubPrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyLeftThenlr="leftstop"IfKeyCode=vbKeyRightThenlr="rightstop"IfKeyCode=vbKeyUpThenud=""IfKeyCode=vbKeyDownThenud=""EndSub‘定时器控制:PrivateSubTimer1_Timer()Label7.Caption=Label7.Caption+1'计分Shape1(0).Top=Shape1(0).Top+Label10.Caption+60'道路中心线移动动画IfShape1(0).Top>Form1.HeightThenShape1(0).Top=0-Shape1