VB PROGRAMME SOURCE CODE - STAR WAR GAME
Star War
We have designed this game for educational purpose. This program can demonstrate the principle of projectile, a typical physics problem. At a certain angle and a certain launch velocity, the projectile can reach a certain range. The maximum range is at an angle of 45 degree. This principle can be applied in the military field where a missile needs to be launched at a certain velocity and angle in order to hit a remote target. It can also be applied in other scientific and technological fields. Tstudents in their abilities in making estimation.
In this program, we used the formulae v sin A - (1/2)gt2 as the vertical component of the displacement and v cos A as the horizontal component of the displacement( where g is the gravitational acceleration , v the launch velocity and A the launch angle). To enable the missile to fly, we used a combination of the Object.Move method and the object coordinate system , i.e. object. left and object.Top.
In this program, we used the formulae v sin A - (1/2)gt2 as the vertical component of the displacement and v cos A as the horizontal component of the displacement( where g is the gravitational acceleration , v the launch velocity and A the launch angle). To enable the missile to fly, we used a combination of the Object.Move method and the object coordinate system , i.e. object. left and object.Top.
Part of the code
| 'To randomly set the initial positions of the objects left1 = Int(Rnd * 7000) + 1000 left2 = Int(Rnd * 7000) + 1000 left3 = Int(Rnd * 7000) + 1000 top1 = Int(Rnd * 5000) + 100 top2 = Int(Rnd * 5000) + 100 top3 = Int(Rnd * 5000) + 100 Image2.Left = left1 Image3.Left = left2 Image4.Left = left3 Image2.Top = top1 Image3.Top = top2 Image4.Top = top3 w = 0 score = 0 Label7.Caption = Str$(score) End Sub Private Sub Image7_Click() Label5.Visible = False End Sub Private Sub Timer1_Timer() MMControl1.Command = "close" If Image1.Left < 15000 And Image1.Top < 9000 Then |
a = Val(Text2.Text)
t = t + 1
To use the formula vertical displacement=vsina- (1/2)gt^2 and horizontal displacement=vcosa*t
'So that it follows a parabolic trajectory
y = v * Sin(a * 3.141592654 / 180) * t - 4.9 * (t ^ 2)
x = v * Cos(a * 3.141592654 / 180) * t
Image1.Move Image1.Left + x, Image1.Top - y
If Image4.Visible = True And (Image1.Left < left3 + 240 And Image1.Left > left3 - 240) And (Image1.Top < top3 + 240 And Image1.Top > top3 - 240) Then
i = 2
Timer1.Enabled = False
showfire
Image4.Visible = False
Image1.Visible = False
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False
MMControl1.DeviceType = "WaveAudio"
MMControl1.FileName = "D:\Liew Folder\VB program\audio\explosion.wav"
MMControl1.Command = "Open"
MMControl1.Command = "Play"
Label3.Caption = "You strike the satellite!"
Label4(2).Left = left3 + 240
Label4(2).Top = top3 + 240
Label4(2).Visible = True
Image5(2).Left = left3 + 240
Image5(2).Top = top3 + 240
score = score + 50
ElseIf Image3.Visible = True And (Image1.Left < left2 + 240 And Image1.Left > left2 - 240) And (Image1.Top < top2 + 240 And Image1.Top > top2 - 240) Then Timer1.Enabled = False i = 1 showfire Image3.Visible = False Image1.Visible = False MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.DeviceType = "WaveAudio" MMControl1.FileName = "D:\Liew Folder\VB program\audio\explosion.wav" MMControl1.Command = "Open" MMControl1.Command = "Play" Label3.Caption = "You strike the rocket!" Label4(1).Left = left2 + 240 Label4(1).Top = top2 + 240 Label4(1).Visible = True Image5(1).Left = left2 + 240 Image5(1).Top = top2 + 240 score = score + 100 ElseIf Image2.Visible = True And (Image1.Left < left1 + 240 And Image1.Left > left1 - 240) And (Image1.Top < top1 + 240 And Image1.Top > top1 - 240) Then Timer1.Enabled = False i = 0 showfire Image2.Visible = False Image1.Visible = False MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.DeviceType = "WaveAudio" MMControl1.FileName = "D:\Liew Folder\VB program\audio\explosion.wav" MMControl1.Command = "Open" MMControl1.Command = "Play" Label3.Caption = "You strike the Saturn!" Label4(0).Left = left1 + 240 Label4(0).Top = top1 + 240
Label4(0).Visible = True
Image5(0).Left = left1 + 240
Image5(0).Top = top1 + 240
score = score + 200
End If
Else
Label3.Caption = "You miss the target!"
Timer1.Enabled = False
End If
Label7.Caption = Str$(score)
End Sub
Private Sub Timer2_Timer()
w = w + 1
If w < 30 Then
Image5(i).Visible = True
Label4(i).Visible = True
Else
Image5(i).Visible = False
Label4(i).Visible = False
Timer2.Enabled = False
End If
End Sub
Comments
Post a Comment