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
tuohan 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.