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 Subtuohan on ihan piipistä revitty! saman voi toteutaaa 11 rivillä!
Hei ui! Tästä mä saan pohjan mun pallopeliin! Kiitos Antti!
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ä.
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ö?
No mulle noi kelpaa. Mä saan tosta pohjan mun arcade ampumapeliin.
No mulle noi kelpaa. Mä saan tosta pohjan mun arcade ampumapeliin.
hirveän kokonen... eikä se pompi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.