Red de conocimiento informático - Problemas con los teléfonos móviles - Código de laberinto súper simple VB

Código de laberinto súper simple VB

'Función API utilizada para determinar si dos rectángulos se cruzan (incluida la superposición de límites)

Función de declaración privada IntersectRect Lib "user32" (lpDestRECT As RECT, lpSrc1RECT As RECT, lpSrc2RECT As RECT) Siempre

Tipo Privado RECT

X1 Mientras Largo

Y1 Mientras Largo

X2 Mientras Largo

Y2 Mientras Largo

Tipo de finalización

Dim xyStart As RECT 'Define el área donde comienza el villano

Dim xyEnd As RECT 'Define el área donde el villano sale del laberinto, que se utiliza para determinar el éxito

p>

Dim spRECT(12) As RECT 'Solo tengo 13 paredes dibujadas con formas, utilizadas para rastrear todas las áreas cubiertas por las paredes

Dim menRECT As RECT 'El área cubierta por el villano

Const bu As Long = 10 'Define el tamaño del paso del movimiento del villano

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Atenuar temperatura como RECT

Seleccione Case KeyCode

Case vbKeyUp

menRECT.Y1 = menRECT.Y1 - bu

menRECT.Y2 = menRECT.Y2 - bu

Si zq(menRECT) Entonces spMen..top = spMen.top - bu

Caso vbKeyDown

menRECT.Y1 = menRECT .Y1 + bu

p>

menRECT.Y2 = menRECT.Y2 + bu

Si zq(menRECT) Entonces spMen.X1 - bu

menRECT.X2 = menRECT.X2 - bu

p>

Si zq(menRECT) Entonces spMen left = spMen.left - bu

Caso vbKeyRight

menRECT. .X1 = menRECT.X1 + bu

menRECT.X2 = menRECT.X2 + bu

Si zq(menRECT) Entonces spMen..left = spMen.left + bu

Fin de selección

menRECT.X1 = spMen.left

menRECT.Y1 = spMen.top

menRECT.

menRECT.Y2 = spMen.top + spMen.Height

p>

Si IntersectRect(temp, menRECT, xyEnd) > 0 Entonces

MsgBox "Llegó al final"

Finalizar si

Finalizar sub

Sub privado Form_Load()

xyStart.Y1 = 0

xyEnd.X2 = Yo .ScaleWidth

xyEnd.Y2 = 360

Me.AutoRedr

aw = True

Line (xyStart.X1, xyStart.Y1)-(xyStart.X2, xyStart.Y2), vbYellow, BF 'Dibuja una marca de cuadro en la posición inicial

Línea (xyEnd.X1 - spMen.Width) / 2

menRECT.X1 = spMen.left 'Registra el área donde comienza el villano

menRECT.Y1 = spMen.top

menRECT.X2 = spMen.left + spMen.Width

menRECT.Y2 = spMen.top + spMen.Height

menRECT.Y3 = spMen.H1 = spMen.Height

menRECT.Y4 = spMen.H1 = spMen.Heighttop + spMen.Height

Para i = 0 A 12 'Registra el área de todos paredes al principio

spRECT(i).X1 = sp(i).left

spRECT(i).Y1 = sp(i).top

spRECT(i).X2 = sp(i).left + sp(i).Ancho

spRECT(i).Y1 = sp(i).top