Paso 3: Codificación principal
-Abrir el Editor de código y vaya a General - sección de declaraciones y el tipo siguiente de código:
Dim CBLOCK como Byte, BAlive(255) Boolean, LastLand como Byte, durará como Boolean
Dim TWrong como bytes, TCorrect bytes, TBlocks como Byte, TRemain como Byte, Byte el objetivo
' //Note que una variable de tipo Byte sólo puede contener de 0 a 255.
CBLOCK: Contiene el número de índice de bloque actual.
BAlive(255): Matriz de bloques de dead(missed). porque es de valor máximo de CBLOCK 255 el rango de la matriz se encuentra a 255.
LastLand: Contiene el índice en el último bloque aterrizado correctamente. (Vivo)
Última: no deja gota más bloques si es cierto.
T(Wrong/correct/blocks/Remain): Claramente visible lo utilizaron para. la ' t ' significa "Total".
Objetivo: Cuántas cuadras caer.
-Ahora tenemos que crear un Sub para facilitar el proceso de caída y evitar errores.
-Otra vez ir a General - sección de declaraciones y escribe esto:
Sub DropBlock()
' si un bloque está cayendo aún, parar el procedimiento
Si BlockLever.Enabled = True o Lastone = True Then Exit Sub
Si TRemain - 1 = 0 entonces
' parada de grúa
CCMove.Enabled = False
' ocultar el bloque de la madre
Block(0). Visible = False
Última = True
Llamar al Annoy(3)
End If
' carga un nuevo
CBLOCK = CBLOCK + 1
Block(CBLOCK) de carga ' bloque de carga
Block(CBLOCK). ZOrder
Block(CBLOCK). Visible = True
BlockLever.Enabled = True
' cada 2 cuadras correcto, pantalla sube
' Si CBLOCK Mod 2 = 0 entonces ScreenAnim.Enabled = True
' conjunto total
TBlocks = CBLOCK
lbTotal.Caption = TBlocks
' Mostrar el restante
TRemain = meta - TBlocks
lbRemain.Caption = TRemain
End Sub
He comenté las acciones de las líneas que siguen.
Nota sobre el 'Block(CBLOCK). ZOrder': en las matrices de controles, uso de ZOrder traerá el control al frente (encima de los demás).
-Todavía algo queda. El sistema de incordiar!. Esto es así de simple cuz sólo muestra algún mensaje.
-Crear una etiqueta y el nombre "PLand_T" - ninguna idea para el nombre!! -utilizar una fuente grande para él y establecer la alineación en el centro para la interfaz mejor.
-Crear un contador de tiempo y asígnele el nombre "Plan" - habilitada: False - intervalo: 1200
Haga doble clic en él y escriba el siguiente cod para él:
PLand_T.Visible = False
PLand.Enabled = False
** ¡ sí! sólo desaparece el mensaje después de 1,2 segundos
bien. para controlar esto vamos a añadir un Sub llamado incordiar con un argumento que especifica el identificador de mensaje. Esto facilitará el proceso y toma lugar más pequeño para llamar. porque escribió el código principal antes de llamar cuando quieras.
-en el Editor de código, General - sección declaraciones añadir este código:
Seleccione caso mediados
Caso 0
PLand_T.ForeColor = vbBlack
PLand_T.Caption = "¡ Prepárate!"
Caso 1
PLand_T.ForeColor = vbBlue
PLand_T.Caption = "Perfecto aterrizaje!"
Caso 2
PLand_T.ForeColor = vbRed
PLand_T.Caption = "¡ perdiste!"
Caso 3
PLand_T.ForeColor = vbBlack
PLand_T.Caption = "Que fue la última!"
cmdU.Visible = True
cmdD.Visible = True
Final seleccione
PLand_T.Visible = True
PLand.Enabled = True
así que el sistema de mensaje es bueno para ir!
-Volver a su forma e insertar un contador de tiempo. El nombre "BlockLever" - habilitada: False - intervalo: 25
Este temporizador no sólo moverá el bloque, se ejecuta principalmente las reglas del juego. por lo que es la parte crítica.
Haga doble clic en él y escriba el siguiente código: tienes que escribir las direcciones correctas en los lugares indicados (acciones comentada)
Block(CBLOCK). Top = Block(CBLOCK). Top + 150
Si CBLOCK = 1 Then ' primero bloque de excepción
Si Block(CBLOCK). Top + Block(CBLOCK). Altura > = BaseBlock.Top entonces
BlockLever.Enabled = False
BAlive(CBLOCK) = True
LastLand = 1 ', incluso un tonto puede aterrizar este
«molestar la correcta
TCorrect = TCorrect + 1
lbCorrect.Caption = TCorrect
End If
Otra cosa
Si Block(CBLOCK). Top + Block(CBLOCK). Altura > = Block(LastLand). Top - 150 y Block(CBLOCK). Izquierda > Block(LastLand). Izquierda - (Block(CBLOCK). Ancho \ 2) y Block(CBLOCK). Izquierda < Block(LastLand). Izquierda + Block(LastLand). Ancho - (Block(CBLOCK). Ancho \ 2) entonces
BlockLever.Enabled = False
BAlive(CBLOCK) = True ' establecer este índice como vivo (correctamente aterrizado)
' dock para corregir la posición y
Block(CBLOCK). Top = Block(LastLand). Top - Block(CBLOCK). Altura
' dock para corregir la posición en el differece baja x
Si Block(CBLOCK). Izquierda > Block(LastLand). Izquierda - 200 y Block(CBLOCK). Izquierda < Block(LastLand). Izquierda + 200 entonces
Block(CBLOCK). Izquierda = Block(LastLand). Izquierda
' Tierra de perfecta!
Llamar al Annoy(1)
End If
LastLand = CBLOCK
' Añadir el correcto
TCorrect = TCorrect + 1
lbCorrect.Caption = TCorrect
' cada 2 cuadras correcto, pantalla sube
Si TCorrect Mod 2 = 0 entonces ScreenAnim.Enabled = True
' último bloque
Si TRemain = 1 entonces
Block(0). Picture = LoadPicture ("< el bloque superior dirección aquí >") ' establecer el cuadro
End If
End If
End If
' si salió de la forma
Si Block(CBLOCK). Top > Me.Height entonces
BlockLever.Enabled = False ' parar la palanca
BAlive(CBLOCK) = False ' este bloque está muerto
TWrong = TWrong + 1 ' incrementar los males
lbWrong.Caption = TWrong ' muestra
' último bloque
Si TRemain = 1 entonces
Block(0). Picture = LoadPicture ("< el bloque superior dirección aquí >") ' establecer el cuadro
End If
Llamar Annoy(2) ' Mostrar el mensaje de perdidas
End If