资源描述:
《编程高手之路—vb入门和游戏编写—用VB60设计简易赛车》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编程高手之路—vb入门和游戏编写—用VB6.0设计简易赛车游戏简单的游戏往往更耐玩,就比如伴我度过高考的赛车游戏:一切都是方块,所谓的赛车也只是四个方块。 第一步,绘制对象:用函数drawcar()画赛车,drawway(n)画跑道的第n层。 第二步,接受控制:Form的KeyPreview属性要设为true,在Form_KeyPress函数中通过改变全局变量cx来控制赛车的位置。 第三步,游戏循环:作为即时游戏,必须要有一个Timer,并在其事件Timer1_Timer()中绘制所有对象
2、和进行碰撞检测。本例中,绘图部分写在了Timer1_Timer()中,碰撞测试放在了test()中。 ……这也是所有即时游戏所共通的框架。当然,我们往往还是根据具体的设计作一些变通,发挥一些技巧……比如这里设计的跑道是随机产生的的,这就要通过一点技巧以便既让玩家感到挑战,又不至于出现不可逾越的难关…… 下面是全部源代码,窗体上只需放个按钮Command1就行了!ConstD=100'方格的宽度ConstBT=3000'跑道底部的y坐标Diml1(22)AsInteger'每层跑道左边有几个方
3、块Diml2(22)AsInteger'每层跑道右边有几个方块DimcxAsSingle'赛车的在x轴的位置PrivateSubCommand1_Click() cx=Width/2-3*D/2 cy=Height-D drawcar Fori=1To20 l1(i)=0 l2(i)=0 drawway(i) Nexti Timer1.Enabled=TrueEndSubPrivateSubdrawcar() Line(cx,BT-100)-Step(3*D,D),BackColor,BF
4、 Line(cx+D,BT-200)-Step(D,D),BackColor,BF'先擦 Line(cx,BT-100)-Step(3*D,D),RGB(225,0,0),BF Line(cx+D,BT-200)-Step(D,D),RGB(225,0,0),BFEndSubPrivateSubdrawway(n) Line(Width/2-3*D/2-2*D,BT-n*D)-Step(7*D,D),BackColor,BF'先擦后画 Line(Width/2-3*D/2-2*D,BT-n*D)
5、-Step(l1(n)*D,D),,BF Line(Width/2-3*D/2+5*D,BT-n*D)-Step(-l2(n)*D,D),,BFEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger) SelectCaseKeyAscii CaseAsc("a"),Asc("A") cx=cx-D CaseAsc("s"),Asc("S") cx=cx+D EndSelectEndSubPrivateSubTimer1_Timer() Rand
6、omize Fori=1To19 l1(i)=l1(i+1) l2(i)=l2(i+1) drawway(i) Nexti Do l1(20)=Int(Rnd*5) l2(20)=Int(Rnd*5) LoopUntil((l1(20)+l2(20)<=4)And(l1(20)-l1(19)<=1)And_(l2(20)-l2(19)<=1)And(l1(19)+l2(20)<=4)And_(l1(20)+l2(19)<=4))'这里生成新一层跑道,'注意要筛去玩家不可能通过的情况!d
7、rawway(20)'以上画出跑道 drawcar testEndSubPrivateSubtest() If3.5*D-Width/2+cx8、Timer1.Enabled=FalseEndSub