趣味撞球--VB5应用程序一例
2006-02-27 21:11:47 来源:WEB开发网核心提示:VisualBasic5.0(VB5)是一个功能强大的工具,它有一大特点就是易学易用,趣味撞球--VB5应用程序一例,下面我们就通过写一个“趣味撞球”的程序来初步体会一下,首先启动VB5,或是在File菜单里选取Make来生成EXE执行文件了,瞧,新建一个标准的EXE工程,此时可以看到
VisualBasic5.0(VB5)是一个功能强大的工具,它有一大特点就是易学易用,下面我们就通过写一个“趣味撞球”的程序来初步体会一下。
首先启动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事件的间隔时间,我们将用它来控制小球的移动频率。
到此为止,我们已经完成了全部的界面设计工作。
接下来要做的全部工作就是填入程序代码了。
DimBallXAsInteger
DimBallYAsInteger
DimAddXAsInteger
DimAddYAsInteger
DimHitXAsInteger
DimWAsInteger
DimHAsInteger
PRivateSubCommand1_Click()
BallX=Int(Rnd(1)*Form1ScaleWidth/10)*5+25
BallY=Int((Form1ScaleHeight)/10)*5
AddX=-5
AddY=-5
Form_Paint
Timer1Enabled=True
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
X=X-50
IfX<15ThenX=15
IfX>W-105ThenX=W-105
HitX=X
IfTimer1Enabled=TrueThen
Line(16,H-5)-(W-6,H),&HC0C0C0,BF
Line(HitX,H)-(HitX+100,H-5),0,BF
EndIf
EndSub
PrivateSubForm_Paint()
Cls
W=Int((ScaleWidth-140)/5)*5
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
EndSub
PrivateSubTimer1_Timer()
Form1Circle(BallX,BallY),4,&HC0C0C0
BallX=BallX+AddX
BallY=BallY+AddY
Form1Circle(BallX,BallY),4,0
IfBallX<=20ThenAddX=-AddX
IfBallY<=20ThenAddY=-AddY
IfBallX>=W-10ThenAddX=-AddX
IfBallY>=H-10Then
IfBallX<HitXOrBallX>HitX+100Then
Timer1Enabled=False
Form_Paint
EndIf
AddY=-AddY
EndIf
EndSub
一旦程序代码输入完毕,你就可以按F5开始执行它,或是在File菜单里选取Make来生成EXE执行文件了,瞧,小球已经在你的屏幕上蹦来蹦去了。->
首先启动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事件的间隔时间,我们将用它来控制小球的移动频率。
到此为止,我们已经完成了全部的界面设计工作。
接下来要做的全部工作就是填入程序代码了。
DimBallXAsInteger
DimBallYAsInteger
DimAddXAsInteger
DimAddYAsInteger
DimHitXAsInteger
DimWAsInteger
DimHAsInteger
PRivateSubCommand1_Click()
BallX=Int(Rnd(1)*Form1ScaleWidth/10)*5+25
BallY=Int((Form1ScaleHeight)/10)*5
AddX=-5
AddY=-5
Form_Paint
Timer1Enabled=True
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
X=X-50
IfX<15ThenX=15
IfX>W-105ThenX=W-105
HitX=X
IfTimer1Enabled=TrueThen
Line(16,H-5)-(W-6,H),&HC0C0C0,BF
Line(HitX,H)-(HitX+100,H-5),0,BF
EndIf
EndSub
PrivateSubForm_Paint()
Cls
W=Int((ScaleWidth-140)/5)*5
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
EndSub
PrivateSubTimer1_Timer()
Form1Circle(BallX,BallY),4,&HC0C0C0
BallX=BallX+AddX
BallY=BallY+AddY
Form1Circle(BallX,BallY),4,0
IfBallX<=20ThenAddX=-AddX
IfBallY<=20ThenAddY=-AddY
IfBallX>=W-10ThenAddX=-AddX
IfBallY>=H-10Then
IfBallX<HitXOrBallX>HitX+100Then
Timer1Enabled=False
Form_Paint
EndIf
AddY=-AddY
EndIf
EndSub
一旦程序代码输入完毕,你就可以按F5开始执行它,或是在File菜单里选取Make来生成EXE执行文件了,瞧,小球已经在你的屏幕上蹦来蹦去了。->
更多精彩
赞助商链接