2. Haga clic en Proyecto→Partes y luego busque "Microsoft PictureClip Control 6.0". Cuando se selecciona, el control PictureClip aparecerá en la caja de herramientas.
Medio.
3. Arrastre el control PictureClip al formulario y establezca sus propiedades en la ventana "Propiedades": haga clic en la propiedad Imagen para agregar la imagen que acaba de preparar.
Establezca las propiedades Cols y Rows en 3 para dividir la imagen en 9 celdas con 3 filas y 3 columnas. Estas celdas se numeran utilizando la propiedad GraphicCell, comenzando desde 0.
El orden es de izquierda a derecha y de arriba a abajo. Por ejemplo, accedemos a estas unidades agregando la siguiente declaración al procedimiento From_load:
Formulario 1. Imagen=ImagenClip1. Celda gráfica (0)
Tan pronto como se ejecute, encontrará que el formulario muestra un bloque en la esquina superior izquierda de la imagen en PictureClip1.
4. Coloque nueve controles de imagen en el formulario. Para simplificar el código del programa, utilizamos una serie de controles de imagen. Entonces, ¿cómo construir una matriz de control?
Primero coloque un control Imagen1 en el formulario, luego haga clic en el botón copiar y luego haga clic en el botón pegar. Se le preguntará si desea crear una matriz de control.
Haga clic en "Sí". Haga clic en el botón "Pegar" continuamente para agregar miembros de la matriz, de modo que haya Imagen1(0), Imagen1(1),...imagen1(8) en el formulario.
Esperando nueve controles de imagen. Estos controles son nueve unidades que se utilizan para mostrar la imagen, es decir, se muestra un control para cada mosaico.
Eso es todo, además de un botón de comando Comando1 y dos controles de etiqueta Etiqueta1 y etiqueta2, respectivamente.
Establecer en inicio, paso y 0. Se completa el diseño de la interfaz.
El código del programa es el siguiente:
La opción explícita
"Dim i As Integer" define una variable de bucle.
Dim j es un número entero
Establezca el tamaño del paso en un número entero
Dim x(8) As Integer 'Define una matriz para almacenar números aleatorios.
¿Subcomando privado 1_Click()?
Inicializa el juego.
Comando 1. "Enabled = False" desactiva el botón de inicio.
Conector final
¿Subform_Load() privado?
Generador de números aleatorios inicial "Aleatorio"
Conector final
Sub init()' Inicializa la subrutina del juego.
For i = 0 to 7' Genera aleatoriamente 8 números no repetidos (del 0 al 7).
a0: x(i)=Int(Rnd*8)
Para j = 0 a i - 1
Si x(i)=x( j ), luego vaya a a0
luego
luego
para i = 0 a 7
Imagen1(i). Habilitado = Verdadero 'Habilita la imagen 1 para responder a los eventos del mouse.
Imagen 1 (x(i)). Imagen = ImagenClip1. La "Unidad gráfica (I)" permite asignar ocho controles de imagen a cada una de las ocho unidades de la imagen.
Entonces
Imagen 1 (8). imagen = loadpicture(" ") El espacio se utiliza para mover la imagen.
Conector final
subimagen privada 1 _ clic(índice como número entero)'Preste atención al uso de valores de índice.
Select Case Index Mod 3 'Divide nueve controles de imagen en tres columnas.
Cuando el ratón hace clic en la columna 1,
Si es la imagen 1 (índice + 1).
imagen = cargar imagen (" ") y luego 'determinar si el lado derecho está vacío.
Imagen 1 (índice + 1). imagen = imagen1(índice). Imagen' Intercambiar imágenes.
Imagen1(índice). Picture=LoadPicture(" ")
No pruebes si el rompecabezas se realizó correctamente.
Terminará si...
Caso 1 'Cuando el mouse hace clic en la segunda columna,
Si es la imagen 1 (índice-1). imagen = cargar imagen (" ") y luego 'determinar si el lado izquierdo está vacío.
Imagen 1 (índice - 1). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Picture=LoadPicture(" ")
Win
Terminará si...
Si la imagen 1 (índice + 1). imagen = cargar imagen (" ") y luego 'determinar si el lado derecho está vacío.
Imagen1(Índice + 1). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Picture=LoadPicture(" ")
Victoria
Terminará si...
Ejemplo 2 'Cuando el mouse hace clic en la tercera columna.
Si imagen 1 (índice - 1). imagen = cargar imagen (" ") y luego 'determinar si el lado izquierdo está vacío.
Imagen 1 (índice - 1). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Picture=LoadPicture(" ")
Victoria
Terminará si...
Finalizar selección
Seleccionar índice de caso\ 3 'will Los nueve controles de imagen se dividen en tres filas.
Caso 0' Cuando el ratón hace clic en la fila 1,
Si es la imagen 1 (índice + 3). imagen = cargar imagen (" ") y luego 'determinar si la parte inferior está vacía.
Imagen1(índice + 3). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Picture=LoadPicture(" ")
Victoria
Terminará si...
Caso 1 'Cuando el mouse hace clic en la línea 2,
si imagen 1(índice-3). imagen = loadpicture(" ") y luego 'determina si la parte superior está vacía.
Imagen1(índice - 3). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Imagen=LoadPicture(" ")
La victoria
Terminará si...
Si la imagen 1 (índice + 3). imagen = cargar imagen (" ") y luego 'determinar si la parte inferior está vacía.
Imagen1(índice + 3). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Picture=LoadPicture(" ")
Victoria
Terminará si...
Caso 2 'Cuando el mouse hace clic en la 3ra línea.
Si imagen 1(índice-3). imagen = loadpicture(" ") y luego 'determina si la parte superior está vacía.
Imagen1(índice - 3). Imagen = Imagen1(índice). Dibujar
Imagen1(índice). Picture=LoadPicture(" ")
Victoria
Terminará si...
Finalizar selección
Finalizar conector
Sub win()' subrutina, utilizada para probar si el rompecabezas tiene éxito.
Dim num es un número entero
Paso = paso + 1 'Paso más 1.
Etiqueta 2. title=Pasos
Para i = 0 a 8, determine si todos los bloques están en su lugar.
Si Imagen1(i). Imagen = ImagenClip1. celda gráfica(I)Entonces num = num+1
Entonces
Si num? Entonces = 8
MsgBox "¡Eres increíble!"
Para i=0 a 8
Imagen1 (i). "Enabled=False" hace que no responda a los eventos del mouse.
Luego
Comando 1. Botón de comando de restauración "Enabled=True"
Terminará si...
Finalizar conector
Debe haber algo mal en él, es decir, el la puntuación debe convertirse al inglés
p>
Si no funciona, búsquelo usted mismo. Si no funciona déjame un mensaje y te ayudo.