Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Pomppiva pallo

Sivun loppuun

Antti Laaksonen [15.02.2002 12:10:33]

#

Vaihteeksi Visual Basic -ohjelmointia: sininen pallo pomppii ruudulla seinistä kimmoten. Useimmilla koneilla tämä tosin on aivan liian nopea, mutta eihän hidastaminen ongelma ole. Formilla on oltava yksi PictureBox.

Private Sub Form_Activate()
    Liiku
End Sub

Private Sub Form_Load()
    Height = 5000
    Width = 6000
    Picture1.Width = 500
    Picture1.Height = 500
    Picture1.BorderStyle = 0
    Picture1.AutoRedraw = True
    Picture1.Circle (250, 250), 250
    For i = 240 To 0 Step -1
        Picture1.Circle (250, 250), i, QBColor(1)
    Next
End Sub
Sub Liiku()
    Dim suunta As Integer
    suunta = 1
    Do
        Select Case suunta
        Case 1
            Picture1.Left = Picture1.Left - 1
            Picture1.Top = Picture1.Top - 1
            If Picture1.Left < 0 Then suunta = 2
            If Picture1.Top < 0 Then suunta = 4
        Case 2
            Picture1.Left = Picture1.Left + 1
            Picture1.Top = Picture1.Top - 1
            If Picture1.Left > Width - Picture1.Width Then suunta = 1
            If Picture1.Top < 0 Then suunta = 3
        Case 3
            Picture1.Left = Picture1.Left + 1
            Picture1.Top = Picture1.Top + 1
            If Picture1.Left > Width - Picture1.Width Then suunta = 4
            If Picture1.Top > Height - Picture1.Height Then suunta = 2
        Case 4
            Picture1.Left = Picture1.Left - 1
            Picture1.Top = Picture1.Top + 1
            If Picture1.Left < 0 Then suunta = 3
            If Picture1.Top > Height - Picture1.Height Then suunta = 1
        End Select
        DoEvents
    Loop
End Sub

Private Sub Form_Unload(Cancel As Integer)
    End
End Sub

proffa [18.09.2002 18:59:49]

#

tuohan on ihan piipistä revitty! saman voi toteutaaa 11 rivillä!

tuobbi-89 [22.10.2002 15:50:23]

#

Hei ui! Tästä mä saan pohjan mun pallopeliin! Kiitos Antti!

Faith [18.11.2003 14:48:09]

#

Dim X As Single
Dim Y As Single
Dim Säde As Integer
Dim SivuttaisVoima As Single
Dim PystyVoima As Single

Sub Piirrä()
Circle (X, Y), Säde, vbBlack

End Sub


Sub Liikuta()
X = X + SivuttaisVoima
Y = Y + PystyVoima
End Sub

Sub Seinät()
If X + Säde > Form1.ScaleWidth Then SivuttaisVoima = SivuttaisVoima * (-1)
If X - Säde < 0 Then SivuttaisVoima = SivuttaisVoima * (-1)
If Y + Säde > Form1.ScaleHeight Then PystyVoima = PystyVoima * (-1)
If Y - Säde < 0 Then PystyVoima = PystyVoima * (-1)
End Sub

Private Sub Form_Load()
Form1.ScaleMode = 3
Säde = 10
X = 1 + Säde
Y = 1 + Säde
SivuttaisVoima = 1
PystyVoima = 1
Form1.Show
Looppi
End Sub

Sub Looppi()
Do
Cls
Seinät
Piirrä
Liikuta
DoEvents
Loop
End Sub

Toi ei mielestäni ole kovin ammattimainen tapa tehä sitä. Näin se kuuluu tehdä.

ez [26.12.2003 00:06:23]

#

No ei tuokaan ole ammattimainen tapa tehdä!! Tehkää pallosta luokka, jolle metodit: liiku ja piirrä. Ja palloa ei ikinä saa piirtää seinän sisään, niinkuin molempien koodissa se piirretään!! Jos se on seinän sisällä niin ennen piirtämistä se siirretään sieltä pois, eikö?

Pasikki [22.03.2004 21:28:20]

#

No mulle noi kelpaa. Mä saan tosta pohjan mun arcade ampumapeliin.

Pasikki [22.03.2004 21:28:42]

#

No mulle noi kelpaa. Mä saan tosta pohjan mun arcade ampumapeliin.

Fisher [23.03.2004 16:50:28]

#

hirveän kokonen... eikä se pompi.


Sivun alkuun

Vastaus

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

Tietoa sivustosta