打印本文 打印本文 关闭窗口 关闭窗口
俄罗斯方块的VB实现,部分代码!
作者:武汉SEO闵涛  文章来源:敏韬网  点击数8094  更新时间:2009/4/23 15:43:16  文章录入:mintao  责任编辑:mintao

Option Explicit
Dim i As Integer
Dim time_hour, time_minute, time_second As Integer

Private Sub Form_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
        Case 105
            Call turn(next_block_kind)
        Case 106
            Call move_left(next_block_kind)
        Case 108
            Call move_right(next_block_kind)
        Case 107
            Call down_block(next_block_kind)
    End Select
End Sub

Public Sub Form_Load()
    Timer_speed.Enabled = False
    Call image_position ''''排列方块
    Call face ''''设置窗体属性
    bx = 3
    by = 0
    Label_hour.Caption = 0
    Label_minute.Caption = 0
    ''''Call next_block
    next_block_kind = 7
    Timer_speed.Enabled = True
    Me.KeyPreview = True
End Sub

Private Sub menu_about_Click()
    Load about
    about.Visible = True
End Sub

Private Sub timer_now_Timer() ''''计时
    time_second = time_second + 1
    If time_second = 60 Then
        time_minute = time_minute + 1
        time_second = 0
        Label_minute.Caption = time_minute
    End If
    If time_minute = 60 Then
        time_hour = time_hour + 1
        time_minute = 0
        Label_hour.Caption = time_hour
    End If
    Label_second.Caption = time_second
End Sub
Private Sub Timer_speed_Timer()
    Call down_block(next_block_kind)
End Sub
Option Explicit
Public bx, by As Integer
Public next_block_kind As Integer
Public p As Integer
Public q As Integer
Public a As Integer
Public n As Integer
Public m As Integer

''''Public turn_kind As Integer

Sub show1(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X).Visible = True
        Form_main.Image_block(Y * 10 + X + 1).Visible = True
        Form_main.Image_block(Y * 10 + X + 10).Visible = True
        Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show2(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X).Visible = True
        Form_main.Image_block(Y * 10 + X + 1).Visible = True
        Form_main.Image_block(Y * 10 + X + 12).Visible = True
        Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show3(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X + 2).Visible = True
        Form_main.Image_block(Y * 10 + X + 1).Visible = True
        Form_main.Image_block(Y * 10 + X + 10).Visible = True
        Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show4(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X + 1).Visible = True
        Form_main.Image_block(Y * 10 + X + 12).Visible = True
        Form_main.Image_block(Y * 10 + X + 10).Visible = True
        Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show5(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X).Visible = True
        Form_main.Image_block(Y * 10 + X + 12).Visible = True
        Form_main.Image_block(Y * 10 + X + 10).Visible = True
        Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show6(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X + 2).Visible = True
        Form_main.Image_block(Y * 10 + X + 12).Visible = True
        Form_main.Image_block(Y * 10 + X + 10).Visible = True
        Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show7(X, Y As Integer)
        Form_main.Image_block(Y * 10 + X).Visible = True
        Form_main.Image_block(Y * 10 + X + 1).Visible = True
        Form_main.Image_block(Y * 10 + X + 2).Visible = True
        Form_main.Image_block(Y * 10 + X + 3).Visible = True
End Sub
Sub show8(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
    Form_main.Image_block(Y * 10 + X + 20).Visible = True
End Sub
Sub show9(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
    Form_main.Image_block(Y * 10 + X + 21).Visible = True
End Sub
Sub show10(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
    Form_main.Image_block(Y * 10 + X + 21).Visible = True
End Sub
Sub show11(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
    Form_main.Image_block(Y * 10 + X + 20).Visible = True
End Sub
Sub show12(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 2).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
End Sub
Sub show13(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 20).Visible = True
End Sub
Sub show14(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 2).Visible = True
    Form_main.Image_block(Y * 10 + X + 12).Visible = True
End Sub
Sub show15(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
    Form_main.Image_block(Y * 10 + X + 21).Visible = True
    Form_main.Image_block(Y * 10 + X + 20).Visible = True
End Sub
Sub show16(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 11).Visible = True
    Form_main.Image_block(Y * 10 + X + 21).Visible = True
End Sub
Sub show17(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 1).Visible = True
    Form_main.Image_block(Y * 10 + X + 2).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
End Sub
Sub show18(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 20).Visible = True
    Form_main.Image_block(Y * 10 + X + 21).Visible = True
End Sub
Sub show19(X, Y As Integer)
    Form_main.Image_block(Y * 10 + X).Visible = True
    Form_main.Image_block(Y * 10 + X + 10).Visible = True
    Form_main.Image_block(Y * 10 + X + 20).Visible = True
    Form_main.Image_block(Y * 10 + X + 30).Visible = True
End Sub
Sub next_block() ''''产生下一个方块(random)
        Randomize
        next_block_kind = Int((19 * Rnd) + 1)
        Call is_full(next_

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口