Usa VB para hacer un programa serpiente muy simple
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>
p>
Fin Si
Caso 3
Si ZhuangTai(Ella(C).X, Ella(C).Y 1) = 2 Entonces
p>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() p>
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>
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. p>