Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > ошибка в тетрисе при добавлении блока


Автор: WWW123 28.5.2017, 12:29
Здравствуйте. Делал тетрис. С одним блоком работает. Добавляю второй блок- то не запускается, то запускается. Если запускается, то работает неправильно. То не доходит до края, то проскакивает ниже. Помогите найти ошибки.
Код

   Dim шаг As Integer
    Dim p As Single
    Dim блок1, блок2 As Label
    Dim линия As Graphics
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        шаг = 10
        падающий_блок()
 
    End Sub
 
    Private Sub падающий_блок()
        Randomize()
        p = Math.Round(1 + Rnd())
        If p = 1 Then новый_блок1()
        If p = 2 Then новый_блок2()
    End Sub
    Private Sub новый_блок1()
        блок1 = New Label
        Me.Controls.Add(блок1)
        With блок1
            .Width = 20
            .Height = 20
            .Left = 100
            .BackColor = Color.Green
        End With
 
    End Sub
    Private Sub новый_блок2()
        блок2 = New Label
        Me.Controls.Add(блок2)
        With блок2
            .Width = 40
            .Height = 10
            .Left = 100
            .BackColor = Color.Green
        End With
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        блок1.Top = блок1.Top + шаг
 
        If блок1.Top > 160 Then
            блок1.Refresh()
            падающий_блок()
        End If
        линия = Me.CreateGraphics
        линия.FillRectangle(Brushes.Blue, 10, 10, 5, 200)
        линия.FillRectangle(Brushes.Blue, 150, 10, 5, 200)
        линия.FillRectangle(Brushes.Blue, 10, 210, 145, 5)
 
    End Sub



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)