这些游戏以前玩过吧,快下载看它们是怎么编写的!
目录
·编写趣味撞球小游戏
·用VB6.0设计简易赛车游戏
·Visual Basic小游戏:猜英雄
·VB游戏写作技巧(1)秀图篇
·VB游戏写作技巧(2)网络篇
·VB 贪吃蛇 单人版游戏(一)
·VB 贪吃蛇 单人版游戏(二)
·VB 贪吃蛇 单人版游戏(三) 
·VB 贪吃蛇 单人版游戏(四)
·用VB开发即时战略游戏
正文
编写趣味撞球小游戏
文章来源: 沐风经典 文章作者: 佚名
  Visual Basic是一个功能强大的工具,它有一大特点就是易学易用,下面我们就通过写一个“趣味撞球” 的程序来初步体会一下。
  首先启动VB5,新建一个标准的EXE工程。此时可以看到,工程包括一个Form1框体。在Form1边框的右下角按住鼠标左键不放,拖动鼠标把Form1的面积改为适当大小,比如6930×4320。再在属性框中把Form1的ScaleMode 属性改为3-Pixel,表明我们将以像素为我们的坐标计算单位,把Form1的StartUpPosition 属性设为2-CenterScreen,使运行时窗体出现在屏幕正中。
  现在,在控件面板上选取CommandButton(命令按钮)控件,为Form1添加Command1和
Command2两个按钮控件,把它们的大小设为121×25,再在属性框中把Command1的Caption填为“&GO”,把Command2的Caption填为“&QUIT”,并把Command1放到框体的右上角,把Command2放到框体的右下角。
  然后,在控件面板上选取Timer(时钟)控件,为Form1添加一个Timer1时钟控件。再在属性框中把它的Enabled属性改为False,Interval属性改为50,前一个值表示该时钟控件是否激活,后一个值决定该时钟控件产生Timer事件的间隔时间,我们将用它来控制小球的移动频率。
  到此为止,我们已经完成了全部的界面设计工作。接下来要做的全部工作就是填入程序代码了。
Dim BallX As Integer
Dim BallY As Integer
Dim AddX As Integer
Dim AddY As Integer
Dim HitX As Integer
Dim W As Integer
Dim H As Integer
Private Sub Command1_Click()
BallX=Int(Rnd(1)*Form1.ScaleWidth/10)*5+25
BallY=Int((Form1.ScaleHeight)/10)*5
AddX=-5
AddY=-5
Form_Paint
Timer1.Enabled=True
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
X=X-50
If X<15 Then X=15
If X>W-105 Then X=W-105
HitX=X
If Timer1.Enabled=True Then
Line(16,H-5)-(W-6,H),&HC0C0C0,BF
Line(HitX,H)-(HitX+100,H-5),0,BF
End If
End Sub
Private Sub Form_Paint()
Cls
W=Int((ScaleWidth-140)/5)*5
vb语言代码大全网页
H=Int((ScaleHeight-10)/5)*5
BackColor=&HC0C0C0
Line(10,10)-(15,H),0,BF
Line(W-5,10)-(W,H),0,BF
Line(10,10)-(W,15),0,BF
End Sub
Private Sub Timer1_Timer()
Form1.Circle(BallX,BallY),4,&HC0C0C0
BallX=BallX+AddX
BallY=BallY+AddY
Form1.Circle(BallX,BallY),4,0
If BallX<=20 Then AddX=-AddX
If BallY<=20 Then AddY=-AddY
If BallX>=W-10 Then AddX=-AddX
If BallY>=H-10 Then
If BallXHitX+100 Then
Timer1.Enabled=False
Form_Paint
End If
AddY=-AddY
End If
End Sub
一旦程序代码输入完毕,你就可以按F5开始执行它,或是在File菜单里选取Make来生成EXE执行文件了,瞧,小球已经在你的屏幕上蹦来蹦去了。
本文来自编程入门网(www.bianceng):www.bianceng/VBjc/vbyx/yx1.htm
用VB6.0设计简易赛车游戏
文章来源: programfan 文章作者: yaozheng
  简单的游戏往往更耐玩,就比如伴我度过高考的赛车游戏:一切都是方块,所谓的赛车也只是四个方块。
  第一步,绘制对象:用函数drawcar()画赛车,drawway(n)画跑道的第n层。
  第二步,接受控制:Form的KeyPreview属性要设为true,在Form_KeyPress函数中通过改变全局变量cx来控制赛车的位置。
  第三步,游戏循环:作为即时游戏,必须要有一个Timer,并在其事件Timer1_Timer()中绘制所有对象和进行碰撞检测。本例中,绘图部分写在了Timer1_Timer()中,碰撞测试放在了test()中。
  ……这也是所有即时游戏所共通的框架。当然,我们往往还是根据具体的设计作一些变通,发挥一些技巧……比如这里设计的跑道是随机产生的的,这就要通过一点技巧以便既让玩家感到挑战,又不至于出现不可逾越的难关……
  下面是全部源代码,窗体上只需放个按钮Command1就行了!
Const D = 100 '方格的宽度
Const BT = 3000 '跑道底部的y坐标
Dim l1(22) As Integer '每层跑道左边有几个方块
Dim l2(22) As Integer '每层跑道右边有几个方块
Dim cx As Single '赛车的在x轴的位置
Private Sub Command1_Click()
 cx = Width / 2 - 3 * D / 2
 cy = Height - D
 drawcar
 For i = 1 To 20
  l1(i) = 0
  l2(i) = 0
  drawway (i)
 Next i
 Timer1.Enabled = True
End Sub
Private Sub drawcar()
 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
End Sub
Private Sub drawway(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
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
 Select Case KeyAscii
  Case Asc("a"), Asc("A")
   cx = cx - D
  Case Asc("s"), Asc("S")
   cx = cx + D
 End Select
End Sub
Private Sub Timer1_Timer()
 Randomize
 For i = 1 To 19
  l1(i) = l1(i + 1)
  l2(i) = l2(i + 1)
  drawway (i)
 Next i
 Do
  l1(20) = Int(Rnd * 5)
  l2(20) = Int(Rnd * 5)
 Loop Until ((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
End Sub
Private Sub test()
 If 3.5*D-Width/2+cx<l1(1)*D Then Timer1.Enabled=False
 If 3.5*D-Width/2+cx+D<l1(2)*D Then Timer1.Enabled=False
 If 3.5*D-(cx+3*D-Width/2)<l2(1)*D Then Timer1.Enabled=False
 If 3.5*D-(cx+2*D-Width/2)<l2(2)*D Then Timer1.Enabled=False
End Sub
本文来自编程入门网(www.bianceng):www.bianceng/VBjc/vbyx/yx2.htm

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。