Red de conocimiento informático - Problemas con los teléfonos móviles - Usa VB para hacer un programa serpiente muy simple

Usa VB para hacer un programa serpiente muy simple

Un amigo te dio un fragmento de código. Este código no tiene ningún control. Solo necesitas copiar el siguiente código en tu código de formulario. ¡Creo que puedes entenderlo! Solo se utilizan una estructura (ShenTi), una matriz (ZhuangTai (23, 23) As Long) y una variable (GFangXiang).

El código genera automáticamente los controles Timer1 y Label1.

También hay varias funciones (Aleatorizar, Círculo, Línea, Borrar...). Creo que son muy simples para ti, pero no esperabas usar estos métodos para implementarlas. ¡Ahora puedes comenzar a ver los efectos!

El código es el siguiente:

'Código Xiabuxiabu (sin controles, código completo)

Privado ConEventos Temporizador1 Como Temporizador

Privado WithEvents Label1 como etiqueta

Dim GFangXiang como booleano

Dim HWB como single

Dim She() como ShenTi

Dim X As Long , Y Mientras

Dim ZhuangTai(23, 23) Mientras

Tipo privado ShenTi

F Mientras

X Mientras

Y siempre

Tipo de fin

'Respuesta clave ← ↑↓ →

Subformulario privado_KeyDown(Código clave como entero, Mayús como Entero)

Atenuar C mientras

Si KeyCode = 27, entonces finalice la salida ESC

Si KeyCode = 32, entonces

Si Timer1 .

Finalizar si

ElseIf ZhuangTai(Ella(C).X 1, Ella(C).Y) = 1 Entonces

Ir a 2:

p>

Fin Si

Caso 3

Si ZhuangTai(Ella(C).X, Ella(C).Y 1) = 2 Entonces

C = C 1

ReDim Preservar Ella(C)

Ella(C).F = Ella(C - 1).F

Ella(C).X = Ella(C - 1).X

Ella(C).Y = Ella(C - 1).

Ir a 1:

ElseIf ZhuangTai(Ella(C).X, Ella(C).Y 1) = 1 Entonces

Ir a 2:

Finalizar si

Selección final

ZhuangTai(She(0).X, She(0).Y) = 0

Para I = 0 a C

Seleccione Caso Ella(I).F

Caso 0

Ella(I).X = Ella(I).Ella(I).Y = Ella(I) .Y - 1

Caso 2

Ella(I).X = Ella(I).X 1

Caso 3

Ella(I) Y = Ella(I).Y 1

Fin Seleccionar

Siguiente

TiaoZheng

Ella(I) .

1:

GANGXiang = Falso

ZhuangTai(Ella(C).X, Ella(C).

HuaTu

Salir Sub

2: 'El juego terminó

Si MsgBox("Score:" & UBound(She) - 2 & "Points " & vbCrLf & "El juego terminó, haga clic en Sí para reiniciar el juego, haga clic en No") , " vbYesNo, "Glotonería") = vbYes Then

ChuShiHua

Else

Fin

Fin Si

End Sub

'Inicializar

Private Sub ChuShiHua()

Ingresa al juego.p>Me.Cls

Temporizador1. = Verdadero

Timer1.Interval = 50

Borrar ZhuangTai

ReDim She(2)

She(0).F = 2

Ella(0).X F = 2

Ella(1).X = 10

Ella(1).Y = 11

ZhuangTai(9, 11) = 1

Ella(1).F = 2

Ella(1).X = 10

Ella( 1 ).Y = 11

ZhuangTai(10, 11) = 1

Ella(2).

Ella(2).F = 2

p>

Ella(2).X = 11

Ella(2).Y = 11

ZhuangTai(11, 11) = 1

HuaTu 'Dibujo

ChanShengShiWu

End Sub

'Borrar el gráfico.

Private Sub QingChu()

Atenuar I mientras

For I = 0 To UBound(She)

Me.Line (She(I).X, She(I).Y) - (Ella(I).X 1, Ella(I).Y 1), Yo.BackColor, BF

Siguiente

End Sub

'Dibujar Snake

Private Sub HuaTu()

Dim I As Long

For I = 0 To UBound(She)

Me.Line (Ella(I). p>Private Sub TiaoZheng()

Dim I As Long

For I = 0 To UBound(She)

Me.For I = 0 a UBound( Sh

e) - 1

Ella(I).F = Ella(I 1).F

Siguiente

Fin Sub

' Aleatorizar comida

Private Sub ChanShengShiWu()

.Aleatorizar temporizador

1:

X = Int(Rnd * 24)

p>

Y = Int(Rnd * 24)

Si ZhuangTai(X, Y) gt 0 Entonces Ir a 1:

ZhuangTai(X, Y) = 2

Me.Line (X, Y)-(X 1, Y 1), RGB(255, 255, 0), BF

End Sub.