Red de conocimiento informático - Conocimiento del nombre de dominio - Necesito urgentemente un pequeño juego Tetris escrito en VB

Necesito urgentemente un pequeño juego Tetris escrito en VB

Privado n(3), m(3) Como Integer 'n(3) registra los números de los cuatro bloques activos en el área de juego

'm(3) registra el números del área de vista previa Los números de los cuatro bloques activos

Situación privada, situación2, linenum, t As Integer 'situation registra el estilo de bloque del área de juego

'situation2 registra el estilo de bloque del área de vista previa

'linenum registra el número de líneas eliminadas a la vez

Private Sub hidefang(a As Integer) 'Define el proceso de hacer que el bloque sea invisible

Seleccione Caso a

Caso 0 'a=0 hace que el bloque del área de juego sea invisible

cmdfang(n(0)).Visible = False

cmdfang(n(1)).Visible = False

cmdfang(n(2)).Visible = False

cmdfang(n(3)).Visible = False

Caso 1 'a=1 habilita la vista previa El bloque de área es invisible

cmdfangnext(m(0)).Visible = False

cmdfangnext(m(1) ).Visible = False

cmdfangnext(m (2)).Visible = False

cmdfangnext(m(3)).Visible = False

Finalizar selección

End Sub

Private Sub showfang(a As Integer) 'Define el proceso de hacer visible el bloque

Selecciona Caso a

El caso 0 'a=0 hace visible el bloque del área de juego

cmdfang(n(0)).Visible = True

cmdfang(n(1)).Visible = True

cmdfang(n(2)).Visible = True

cmdfang(n(3)).Visible = True

Caso 1 'a=1 hace que el bloque del área de vista previa sea invisible p>

cmdfangnext(m(0)).Visible = Verdadero

cmdfangnext(m(1)).Visible = Verdadero

cmdfangnext(m(2)) .Visible = True

cmdfangnext(m(3)).Visible = True

End Select

End Sub

Sub privado clearline () 'Define el proceso de eliminación de toda la línea

For i = 190 To 10 Step -10

If cmdfang(i).Visible = True And _

cmdfang( i + 1).Visible = Verdadero y _

cmdfang(i + 2).Visible = Verdadero y _

cmdfang(i + 3).Visible = Verdadero Y _

cmdfang(i + 4).Visible = Verdadero Y _

cmdfang(i + 5).Visible = Verdadero Y _

cmdfang(i + 6 = Verdadero y _

cmdfang(i + 7).Visible = Verdadero y _

cmdfang(i + 8).Visible = Verdadero y _

cmdfang(i + 9).Visible = Verdadero Entonces

Para j = i + 4 Para i Paso -1

t = 1

cmdfang(j) .Visible = False

cmdfang(2 * i + 9 - j).Visible = False

Para k = 1 a 4000

DoEvents

Siguiente

t = 0

Siguiente

linenum = linenum + 1

Para j = i - 1 a 0 Paso -1

Si cmdfang(j).Visible =

Verdadero Entonces

cmdfang(j).Visible = False

cmdfang(j + 10).Visible = Verdadero

Fin si

Siguiente

clearline 'Para realizar la eliminación de varias líneas, aquí se utilizan llamadas recursivas

End If

Next

End Sub

Función privada downable() Como booleana 'Función personalizada para determinar si el bloque puede caer

Si n(0) < 190 y n(1) < 190 y n(2 ) < 190 Y n(3) < 190 Entonces

Si cmdfang(n(0) + 10).Visible = False Y _

cmdfang(n(1) + 10) .Visible = False Y _

cmdfang(n(2) + 10).Visible = False Y _

cmdfang(n(3) + 10).Visible = False Entonces

downable = True

Else

downable = False

Finalizar si

Else

downable = False

End If

Función final

Función privada leftable() As Boolean 'Función personalizada para determinar si el bloque se puede mover hacia la izquierda

Si n(0) Mod 10 <> 0 y n(1) Mod 10 <> 0 y n(2) Mod 10 <> 0 y n(3) Mod 10 <> 0 entonces

Si cmdfang (n(0) - 1).Visible = False Y _

cmdfang(n(1) - 1).Visible = False Y _

cmdfang( n(2) - 1).Visible = False Y _

cmdfang(n(3) - 1).Visible = False Entonces

leftable = True

Else

leftable = False

Finalizar si

Else

leftable = False

End If

Fin de función

Función privada rightable() As Boolean 'Función personalizada para determinar si el bloque se puede mover hacia la derecha

Si n(0) Mod 10 <> 9 y n(1) Mod 10 <> 9 y n(2) Mod 10 <> 9 y n(3) Mod 10 <> 9 entonces

Si cmdfang(n(0) + 1).Visible = False Y _

cmdfang(n(1) + 1).Visible = False Y _

cmdfang (n( 2) + 1).Visible = False Y _

cmdfang(n(3) + 1).Visible = False Entonces

rightable = True

Else

rightable = False

Finalizar si

Else

rightable = False

Finalizar si

Función final

Sub carga privadafangkuai() 'Define el proceso de generación aleatoria de un tipo de bloque

Seleccione Case Int(Rnd * 6)

'' '''''''''''''''''''''''''''''''''''' ''' '''''''''''''''''''''''''

Caso 0 'Esta es una barra larga Tipo Cuadrado

Seleccione Caso Int(Rnd * 2)

Caso 0

m(0) = 3

m(1) = 4

m(2) = 5

m(3) = 6

situación2 = 0

Caso 1

m( 0) = 5

m(1) = 15

m(2) = 25

m(3) = 35

situación2 = 1

Finalizar selección

''''''''''''''''''''' '''''''' '''''''''''''''''''''''''''''' ''''''''''''

Caso 1 'Este es un bloque cuadrado

m(0) = 4

m(1) = 5

m(2) = 14

m(3) = 15

situación2 = 2

'''''''''''''''''''' ' ''''''''''''''''''''''''''''''''''' ''''''''' '''''

Caso 2 'Este es un cuadrado positivo en forma de S

Seleccione Case Int(Rnd * 2)

Caso 0

m(0) = 6

m(1) = 5

m(2) = 15

m(3) = 14

situación2 = 3

Caso 1

m(0) = 4

m(1) = 14

m(2) = 15

m(3) = 25

situación2 = 4

Finalizar selección

''' '''''''''''''''''''''''''''''''' '''''''''''' ''''''''''''''''''''

Caso 3 'Este es un bloque en forma de S inversa

Seleccione Caso Int (Rnd * 2)

Caso 0

m(0) = 4

m(1) = 5

m(2 ) = 15

m(3) = 16

situación2 = 5

Caso 1

m(0) = 5

m(1) = 15

m(2) = 14

m (3) = 24

situación2 = 6

Finalizar selección

''''''''''''''''' '''''''''''''''''' '''''''''''''''''''''' ''''''''''''''''

Caso 4

'Este es un cuadrado en forma de T

Select Case Int(Rnd * 4)

Caso 0

m(0) = 4

m(1) = 5

m(2) = 6

m(3) = 15

situación2 = 7

Caso 1

m(0) = 5

m(1) = 15

m(2) = 25

m (3 ) = 14

situación2 = 8

Caso 2

m(0) = 16

m(1) = 15

p>

m(2) = 14

m(3) = 5

situación2 = 9

Caso 3

m(0) = 24

m(1) = 14

m(2) = 4

m(3) = 15

situación2 = 10

Finalizar selección

''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''' '''''''' ''

Caso 5 'Este es un cuadrado recto con forma de 7

Seleccione Case Int(Rnd * 4)

Caso 0

m(0) = 4

m(1) = 5

m(2) = 15

m(3) = 25

situación2 = 11

Caso 1

m(0) = 5

m(1) = 15

m( 2) = 14

m(3) = 13

situación2 = 12

Caso 2

m (0) = 25

m(1) = 24

m(2) = 14

m(3) = 4

situación

2 = 13

Caso 3

m(0) = 14

m(1) = 4

m(2) = 5

m(3) = 6

situación2 = 14

Selección final

'''''''''' '''''''''''''''''''''''''''''''''''' '''''''' '''''''''''''''''''

Caso 6 'Este es un cuadrado invertido con forma de 7

Seleccione Case Int(Rnd * 4)

Caso 0

m(0) = 5

m(1) = 4

m(2) = 14

m(3) = 24

situación2 = 15

Caso 1

m( 0) = 15

m(1) = 5

m(2) = 4

m(3) = 3

situación2 = 16

Caso 2

m(0) = 24

m(1) = 25

m(2) = 15

m (3) = 5

situación2 = 17

Caso 3

m(0) = 4

m(1) = 14

m(2) = 15

m(3) = 16

situación2 = 18

Selección final

End Select

End Sub

Private Sub zhuan() 'Definir el proceso de rotación del bloque

Seleccionar situación de caso

'''''''''''''''''''''''''''''' '''''''''''''' ''''''''''''''''''''

Caso 0 'Este es un cuadrado largo

Si n(0) - 18 >= 2 y n(3) + 9 <=

198 Entonces

Si cmdfang(n(0) - 18).Visible = False Y _

cmdfang(n(1) - 9).Visible = False Y _

cmdfang(n(3) + 9).Visible = False Entonces

hidefang 0

n(0) = n(0) - 18

n(1) = n(1) - 9

n(3) = n(3) + 9

espectáculo 0

situación = 1

Finalizar si

Finalizar si

Caso 1

Si (n(0) + 18) Mod 10 < 8 Y (n (3) - 9) Mod 10 > 0 Entonces

Si cmdfang(n(0) + 18).Visible = False Y _

cmdfang(n(1) + 9) .Visible = Falso Y _

cmdfang(n(3) - 9).Visible = Falso Entonces

hidefang 0

n(0) = n( 0) + 18

n(1) = n(1) + 9

n(3) = n(3) - 9

espectáculo 0

situación = 0

Finalizar si

Finalizar si

'''''''''''''''' '''''''''''''''''''''''''''''''''''' '''''''' '''''''''''

Caso 2 'Este es un bloque cuadrado

''''''' ''''''''' ''''''''''''''''''''''''''''' '''''''''''''''' '''''''''

Caso 3 'Este es un cuadrado positivo en forma de S

Si n(0) - 11 > 1 Entonces

Si cmdfang(n(0) - 11).Visible = False Y _

cmdfang(n(3)

+ 2).Visible = Falso Entonces

hidefang 0

n(0) = n(0) - 11

n(2) = n(2 ) - 9

n(3) = n(3) + 2

showfang 0

situación = 4

Fin si

Fin si

Caso 4

Si (n(3) - 2) Mod 10 < 9 Entonces

Si cmdfang(n( 2) + 9).Visible = False Y _

cmdfang(n(3) - 2).Visible = False Entonces

hidefang 0

n( 0) = n(0) + 11

n(2) = n(2) + 9

n(3) = n(3) - 2

showfang 0

situación = 3

Finalizar si

Finalizar si

''''''''''' '''''''''''''''''''''''''''''''''''' '''''''' '''''''''''''''''

Caso 5 'Este es un bloque en forma de S invertida

Si n(0) - 9 > 1 Entonces

Si cmdfang(n(0) - 9).Visible = False Y _

cmdfang(n(3) - 2) Visible = False Entonces

.

ocultar colmillo 0

n(0) = n(0) - 9

n(2) = n(2) - 11

n( 3) = n(3) - 2

showfang 0

situación = 6

Finalizar si

Finalizar si

Caso 6

Si (n(3) + 2) Mod 10 > 0 Entonces

Si cmdfang(n(2) + 11 ).Visible = False Y _

cmdfang(

n(3) + 2).Visible = Falso Entonces

hidefang 0

n(0) = n(0) + 9

n(2) = n(2) + 11

n(3) = n(3) + 2

espectáculo 0

situación = 5

Finalizar si

Finalizar si

''''''''''''''''''''''''' '''' ''''''''''''''''''''''''''''''''' '''''''

Caso 7 'Este es un cuadrado en forma de T

Si n(0) - 9 > 0 Entonces

Si cmdfang(n (0) - 9).Visible = False Entonces

hidefang 0

n(0) = n(0) - 9

n(2) = n(2) + 9

n(3) = n(3) - 11

showfang 0

situación = 8

Fin si

Fin Si

Caso 8

Si (n(0) + 11) Mod 10 > 0 Entonces

Si cmdfang (n(0) + 11).Visible = Falso Entonces

hidefang 0

n(0) = n(0) + 11

n(2 ) = n(2) - 11

n(3) = n(3) - 9

showfang 0

situación = 9

Fin si

Finalizar si

Caso 9

Si n(0) + 9 < 199 Entonces

Si cmdfang(n (0) + 9).Visible = False Entonces

hidefang 0

n(0) = n(0) + 9

n(2) = n(2) - 9

n(3) = n(3) + 11

<

p> showfang 0

situación = 10

Fin si

Fin si

Caso 10

Si ( n(0) - 11) Mod 10 < 9 Entonces

Si cmdfang(n(0) - 11).Visible = False Entonces

hidefang 0

n(0) = n(0) - 11

n(2) = n(2) + 11

n(3) = n(3) + 9

showfang 0

situación = 7

Finalizar si

Finalizar si