Crear 40 Imágenes en Tiempo de Ejecución y Juego de Memoria Visual Basic [SOLUCIONADO]

Generación Dinámica de Imágenes

Visual Basic es un potente lenguaje de programación que ofrece una amplia variedad de herramientas creativas y funcionales. Ahondaremos en una funcionalidad poco explorada: la generación dinámica de imágenes en tiempo de ejecución.

Este proceso permite al desarrollador crear, modificar y almacenar imágenes en función de las operaciones y los datos con los que esté trabajando.
Por ejemplo, se puede generar un conjunto de 40 imágenes y guardarlas en un directorio específico.

        Dim bmp As New Bitmap(200, 200)
        Dim g As Graphics = Graphics.FromImage(bmp)

        For i As Integer = 1 To 40
        Dim filename As String = String.Format("image{0}.bmp", i)

        g.Clear(Color.White)
        g.DrawLine(Pens.Black, 0, 0, 200, 200)

        bmp.Save(filename, ImageFormat.Bmp)
        Next
    

Programando un Juego de Memoria

Ahora, veamos cómo uno puede crear un simple juego de memoria utilizando Visual Basic. Este tipo de juego es perfecto para poner a prueba y mejorar tu memoria ya que se basa en la capacidad para reconocer y recordar dónde se ubican los pares de cartas en la mesa.

        Dim firstClicked As Label = Nothing
        Dim secondClicked As Label = Nothing

        Private Sub Label_Click(sender As Object, e As EventArgs) Handles Label1.Click, Label2.Click,
            Label3.Click, Label4.Click, Label5.Click, Label6.Click, Label7.Click, Label8.Click,
            Label9.Click, Label10.Click, Label11.Click, Label12.Click, Label13.Click, Label14.Click,
            Label15.Click, Label16.Click

            Dim clickedLabel = DirectCast(sender, Label)

            If clickedLabel IsNot Nothing Then
                If firstClicked Is Nothing Then
                    firstClicked = clickedLabel
                    firstClicked.ForeColor = Color.Black
                Else
                    secondClicked = clickedLabel
                    secondClicked.ForeColor = Color.Black

                    CheckForWinner()

                    firstClicked = Nothing
                    secondClicked = Nothing
                End If
            End If
        End Sub
    

Integrando la Creación de Imágenes con el Juego de Memoria

Y por último, ¿cómo podríamos crear un vínculo entre estas dos funcionalidades en Visual Basic? Podríamos crear un juego de memoria en el que las cartas a aparearse sean las imágenes generadas dinámicamente en tiempo de ejecución.

        Dim images() As Bitmap = New Bitmap(39) {}

        Dim bmp As New Bitmap(200, 200)
        Dim g As Graphics = Graphics.FromImage(bmp)

        For i As Integer = 0 To 39
            g.Clear(Color.White)
            g.DrawLine(Pens.Black, 0, 0, (i + 1) * 5, (i + 1) * 5)

            images(i) = bmp.Clone()
        Next i

        AssignImagesToCards(images)
    

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad