Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Pommi

moptim [04.07.2006 19:06:18]

#

Tässä on pommi, joka räjähtää ja luo "pyrotekniikkaa". I know, voi olla vähän epäselvä, mutta...

Tarvitset
* 2 timeriä (Timer1 ja Timer2)
* 2 objektia, jota voi klikata (Sytytä ja Poistu)

Dim waIhe As Integer
Dim kärtSännyt As Integer
Dim ÄksYks(100) As Integer, YyYks(100) As Integer, ÄksKaks(100) As Integer, YyKaks(100) As Integer
Dim Pun(100) As Integer, Vihr(100) As Integer
Dim ÄksLisää(100) As Integer, YyLisää(100) As Integer, PunVähnys(100) As Variant, VihrVähnys(100) As Variant
Private Sub Form_Load()
Me.Width = 7605
Me.Height = 7200
'Form1.ControlBox = False
Poistu.Caption = "Poistu"
Me.BorderStyle = 3
Randomize
Me.BackColor = RGB(0, 0, 0)
Timer2.Enabled = False
Timer2.Interval = 10
Me.AutoRedraw = True
bole.Shape = 3
bole.BackColor = RGB(128, 128, 128)
bole.FillColor = RGB(128, 128, 128)
bole.Height = 1000: bole.Width = 1000
Timer1.Interval = 10
Timer1.Enabled = False
bole.Visible = False
kärtSännyt = 0
Sytytä.Caption = "Sytytä pommi!"
Me.Caption = " "
End Sub

Private Sub Poistu_Click()
End
End Sub

Private Sub Sytytä_Click()
PiirräPommi 2000, 2000
Sytytä.Enabled = False
Timer1.Enabled = True
End Sub

Sub PiirräPommi(X As Integer, Y As Integer)
Cls
Line (X + 500, Y)-(X + 500, Y + 1000), RGB(128, 128, 128)
bole.Visible = True
bole.Left = X
bole.Top = Y + 1000
End Sub

Private Sub Timer1_Timer()
kärtSännyt = kärtSännyt + 5
PoltaPommia kärtSännyt
End Sub

Sub PoltaPommia(Palanut As Integer)
Cls
PiirräPommi 2000, 2000
Line (2500, 2000)-(2500, 2000 + Palanut), RGB(0, 0, 0)
Line (2500, 2001 + Palanut)-(2500, 2002 + Palanut), RGB(255, 0, 0)
If Palanut = 1000 Then
RäjäytäPommiYks
End If
End Sub

Sub RäjäytäPommiYks()
Timer1.Enabled = False
Timer2.Enabled = True
bole.Visible = False
End Sub

Private Sub Timer2_Timer()
waIhe = waIhe + 1
RäjäytäPommiKaks waIhe
End Sub
Sub RäjäytäPommiKaks(Vaihe As Integer)
Dim öWhat As Integer
öWhat = 1
Cls
Select Case Vaihe
Case 1                        'tekee ehvektit
Do Until öWhat = 100
ÄksYks(öWhat) = 2500: YyYks(öWhat) = 3500: ÄksKaks(öWhat) = 2500: YyKaks(öWhat) = 3500
ÄksLisää(öWhat) = -50 + 1 + 99 * Rnd
YyLisää(öWhat) = -50 + 1 + 99 * Rnd
Do Until Pun(öWhat) > Vihr(öWhat)
Pun(öWhat) = 128 + 127 * Rnd
Vihr(öWhat) = 64 + 191 * Rnd
VihrVähnys(öWhat) = Vihr(öWhat) / 19
PunVähnys(öWhat) = Pun(öWhat) / 19
Loop
öWhat = öWhat + 1
Loop
Case 2 To 60                  'ulontaa niitä
öWhat = 1
Do Until öWhat = 100
ÄksYks(öWhat) = ÄksYks(öWhat) + ÄksLisää(öWhat)
ÄksKaks(öWhat) = ÄksYks(öWhat) + (ÄksLisää(öWhat) * 1.2)
YyYks(öWhat) = YyYks(öWhat) + YyLisää(öWhat)
YyKaks(öWhat) = YyYks(öWhat) + (YyLisää(öWhat) * 1.2)
Line (ÄksYks(öWhat), YyYks(öWhat))-(ÄksKaks(öWhat), YyKaks(öWhat)), RGB(Pun(öWhat), Vihr(öWhat), 0)
öWhat = öWhat + 1
Loop
Case 61 To 79                             'himmennys
Cls
öWhat = 1
Do Until öWhat = 100
Pun(öWhat) = Pun(öWhat) - PunVähnys(öWhat)
Vihr(öWhat) = Vihr(öWhat) - VihrVähnys(öWhat)
YyYks(öWhat) = YyYks(öWhat) + YyLisää(öWhat)
YyKaks(öWhat) = YyYks(öWhat) + (YyLisää(öWhat) * 1.2)
If Vihr(öWhat) < 0 Then
Vihr(öWhat) = 0
End If
If Pun(öWhat) < 0 Then
Pun(öWhat) = 0
End If
Line (ÄksYks(öWhat), YyYks(öWhat))-(ÄksKaks(öWhat), YyKaks(öWhat)), RGB(Pun(öWhat), Vihr(öWhat), 0)
öWhat = öWhat + 1
Loop
Case 80                                    'ja lopetus
Cls
öWhat = 1
Do Until öWhat = 100
Pun(öWhat) = 0
Vihr(öWhat) = 0
YyYks(öWhat) = 0
YyKaks(öWhat) = 0
ÄksYks(öWhat) = 0
ÄksKaks(öWhat) = 0
VihrVähnys(öWhat) = 0
PunVähnys(öWhat) = 0
YyLisää(öWhat) = 0
ÄksLisää(öWhat) = 0
waIhe = 0
kärtSännyt = 0
öWhat = öWhat + 1
Loop
Timer2.Enabled = False
öWhat = 0                '        :D
Sytytä.Enabled = True
End Select
End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta