xboxscene.org forums

Author Topic: Vb Help  (Read 47 times)

yaazz

  • Archived User
  • Hero Member
  • *
  • Posts: 1370
Vb Help
« on: November 19, 2004, 11:55:00 PM »

QUOTE

Dim piece As Integer
Dim lines As Integer
Dim level As Integer
Private Sub CmdStart_Click()
Pickpiece
lines = 0
level = 0

CmdStart.Visible = True
End Sub

Private Sub TmrGrav_Timer()

'----------------------------------------------------
Dim i As Integer
    For i = 0 To 3
        block(i).Top = block(i).Top + block(i).Height
    Next i
Call collision
   
End Sub


Private Function Pickpiece()
Randomize Timer
    piece = Int(1 + Rnd * 6)
    Select Case piece
    'this one gives you the square
        Case 1:
            block(0).Left = grid(5).Left
            block(0).Top = (grid(5).Top - block(0).Height * 2)
           
            block(1).Left = grid(6).Left
            block(1).Top = (grid(5).Top - block(0).Height * 2)
           
            block(2).Left = grid(5).Left
            block(2).Top = (grid(5).Top - block(0).Height)
           
            block(3).Left = grid(6).Left
            block(3).Top = (grid(5).Top - block(0).Height)
           
            'this one gives you the straight line
        Case 2:
            block(0).Left = grid(5).Left
            block(0).Top = (grid(5).Top - block(0).Height * 4)
           
            block(1).Left = grid(5).Left
            block(1).Top = (grid(5).Top - block(0).Height * 3)
           
            block(2).Left = grid(5).Left
            block(2).Top = (grid(5).Top - block(0).Height * 2)
           
            block(3).Left = grid(5).Left
            block(3).Top = (grid(5).Top - block(0).Height)
           
            'this one will give you the backwards L
        Case 3:
            block(0).Left = grid(5).Left
            block(0).Top = (grid(5).Top - block(0).Height)
           
            block(1).Left = grid(6).Left
            block(1).Top = (grid(5).Top - block(0).Height)
           
            block(2).Left = grid(6).Left
            block(2).Top = (grid(5).Top - block(0).Height * 2)
           
            block(3).Left = grid(6).Left
            block(3).Top = (grid(5).Top - block(0).Height * 3)
       
        Case 4:
            block(0).Left = grid(5).Left
            block(0).Top = (grid(5).Top - block(0).Height)
           
            block(1).Left = grid(5).Left
            block(1).Top = (grid(5).Top - block(0).Height * 2)
           
            block(2).Left = grid(5).Left
            block(2).Top = (grid(5).Top - block(0).Height * 3)
           
            block(3).Left = grid(6).Left
            block(3).Top = (grid(5).Top - block(0).Height)
           
        Case 5:
            block(0).Left = grid(5).Left
            block(0).Top = (grid(5).Top - block(0).Height)
           
            block(1).Left = grid(6).Left
            block(1).Top = (grid(5).Top - block(0).Height)
           
            block(2).Left = grid(6).Left
            block(2).Top = (grid(5).Top - block(0).Height * 2)
           
            block(3).Left = grid(7).Left
            block(3).Top = (grid(5).Top - block(0).Height * 2)
           
        Case 6:
            block(0).Left = grid(5).Left
            block(0).Top = (grid(5).Top - block(0).Height * 2)
           
            block(1).Left = grid(6).Left
            block(1).Top = (grid(5).Top - block(0).Height)
           
            block(2).Left = grid(6).Left
            block(2).Top = (grid(5).Top - block(0).Height * 2)
           
            block(3).Left = grid(7).Left
            block(3).Top = (grid(5).Top - block(0).Height)
        End Select
    TmrGrav = True
End Function

Private Function collision()
Dim i As Integer
Dim p As Integer
    For i = 0 To 189
        For p = 0 To 3
            If block(p).Left = grid(i).Left Then
                If block(p).Top = grid(i).Top Then
                    If grid(i + 10).BackColor <> &H8000000E Then
                    
                    
                     TmrGrav = False
                     Call blit
                    
                    End If
                End If
            End If
            Next p
        Next i
End Function

Private Function blit()

Dim i As Integer
Dim p As Integer
        For i = 0 To 189
            For p = 0 To 3
                If grid(i).Left = block(p).Left Then
                    If grid(i).Top = block(p).Top Then
                    grid(i).BackColor = block(p).BackColor
                    End If
                End If
            Next p
        Next i
       
    Call Pickpiece
End Function


EDIT: here is a picture of the game
user posted image
Logged