用VB6.0设计简易赛车游戏

优雅的lang

优雅的lang

2016-02-19 20:15

下面这个用VB6.0设计简易赛车游戏教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!
第一步,绘制对象:用函数drawcar()画赛车,drawway(n)画跑道的第n层。

  第二步,接受控制:Form的KeyPreview属性要设为true,在Form_KeyPress函数中通过改变全局变量cx来控制赛车的位置。

  第三步,游戏循环:作为即时游戏,必须要有一个Timer,并在其事件Timer1_Timer()中绘制所有对象和进行碰撞检测。本例中,绘图部分写在了Timer1_Timer()中,碰撞测试放在了test()中。

  ……这也是所有即时游戏所共通的框架。当然,我们往往还是根据具体的设计作一些变通,发挥一些技巧……比如这里设计的跑道是随机产生的的,这就要通过一点技巧以便既让玩家感到挑战,又不至于出现不可逾越的难关……

  下面是全部源代码,窗体上只需放个按钮Command1就行了!

ConstD=100注释:方格的宽度
  Constbt/16.shtml'target='_blank'class='article'BT=3000注释:跑道底部的y坐标
  Diml1(22)AsInteger注释:每层跑道左边有几个方块
  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=True

EndSub

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

PrivateSubdrawcar()

 Line(cx,BT-100)-Step(3*D,D),BackColor,BF
   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),BF

EndSub

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

PrivateSubdrawway(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)-Step(l1(n)*D,D),,BF
   Line(Width/2-3*D/2 5*D,BT-n*D)-Step(-l2(n)*D,D),,BF

EndSub

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

PrivateSubForm_KeyPress(KeyAsciiAsInteger)

 SelectCaseKeyAscii
  CaseAsc("a"),Asc("A")
   cx=cx-D
  CaseAsc("s"),Asc("S")
   cx=cx D
   EndSelect

EndSub

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

PrivateSubTimer1_Timer()
   Randomize
   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))注释:这里生成新一层跑道,
  注释:注意要筛去玩家不可能通过的情况!
  drawway(20)
  注释:以上画出跑道
   drawcar
   test

EndSub

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

PrivateSubtest()

 If3.5*D-Width/2 cx If3.5*D-Width/2 cx D If3.5*D-(cx 3*D-Width/2) If3.5*D-(cx 2*D-Width/2)
  EndSub

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)->

展开更多 50%)
分享

猜你喜欢

用VB6.0设计简易赛车游戏

编程语言 网络编程
用VB6.0设计简易赛车游戏

浅谈用VB6.0编写BO程序

编程语言 网络编程
浅谈用VB6.0编写BO程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用VB6.0设计屏幕保护程序

编程语言 网络编程
利用VB6.0设计屏幕保护程序

用VB6.0设计一个打字练习软件

vb
用VB6.0设计一个打字练习软件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VB6.0设计真正实用的TreeView控件

vb
VB6.0设计真正实用的TreeView控件

用VB6.0编写手机短信发送

编程语言 网络编程
用VB6.0编写手机短信发送

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

何时.NET中AppDomain会回收?

何时.NET中AppDomain会回收?

VB从零开始编外挂(十一)

VB从零开始编外挂(十一)
下拉加载更多内容 ↓