aide programmation jeu de mémoire

aide programmation jeu de mémoire - VB/VBA/VBS - Programmation

Marsh Posté le 07-01-2009 à 19:11:25    


Bonjour à tous, je bloque en essayant de créer un petit programme de jeu de mémoire, j'ai regardé les programmes présent en ligne et ils sont tous très compliqués je trouve. Je serai très reconnaissant à qui voudra bien m'aider, je suis débutant, merci d'avance :
 
Le but est de faire un jeu de mémoire, pour cela j'ai créé deux tableaux de 16 boutons.
Le premier s'appel tableau et affiche des boutons gris.
Le deuxième s'appel vraitableau et affiche des boutons de couleurs allant par paire, que je mélange dès le chargement du programme.
 
Je souhaiterai pouvoir supperposer mes 2 tableaux pour que lorsqu'on clique sur un boutton de tableau, celui-ci change de couleur et devienne transparent pour laisser apparaitre un bouton de vraitableau situé en dessous.
 
Seulement voilà quand je rends visible chacun des tableaux séparément, je vois qu'ils marchent, mais quand je clik sur une case de tableau pour la rendre transparente et voir la case en dessous, ça marche pas..
 
j'ai un message d'erreur lié aux variables, mon code vous semble t'il bon ? parce que je ne sais pas comment faire pour remédier à cette erreur ..
 
message d'erreur : l'exception nullreferenceexception n'a pas été gérée à la fin du prog à la ligne
If tableau(i, j).BackColor = Color.DarkGray Then
 
 
 
Public Class Colors
    Inherits System.Windows.Forms.Form
    Dim tableau(3, 3) As Button
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim l As Integer
    Dim vraitableau(3, 3) As Button
 
 
    Private Sub Colors_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(500, 500)
 
        Dim tableau(3, 3) As Button
 
        For i As Integer = 0 To 3
            For j As Integer = 0 To 3
                tableau(i, j) = New Button
                tableau(i, j).Visible = True
                Me.Controls.Add(tableau(i, j))
 
                tableau(i, j).Tag = i.ToString + ";" + j.ToString
 
                AddHandler tableau(i, j).Click, AddressOf tableau_Click
 
                tableau(i, j).Top = i * 100
                tableau(i, j).Left = j * 100
                tableau(i, j).Width = 90
                tableau(i, j).Height = 90
                tableau(i, j).BackColor = Color.DarkGray
            Next
        Next
 
 
        Dim vraitableau(3, 3) As Button
        For i As Integer = 0 To 3
            For j As Integer = 0 To 3
 
 
                vraitableau(i, j) = New Button
 
                vraitableau(i, j).Visible = True
                Me.Controls.Add(vraitableau(i, j))
 
                vraitableau(i, j).Top = i * 100
                vraitableau(i, j).Left = j * 100
                vraitableau(i, j).Width = 90
                vraitableau(i, j).Height = 90
 
 
            Next
        Next
        vraitableau(0, 0).BackColor = Color.Yellow
        vraitableau(0, 1).BackColor = Color.Yellow
        vraitableau(0, 2).BackColor = Color.DarkBlue
        vraitableau(0, 3).BackColor = Color.DarkBlue
        vraitableau(1, 0).BackColor = Color.DarkMagenta
        vraitableau(1, 1).BackColor = Color.DarkMagenta
        vraitableau(1, 2).BackColor = Color.Indigo
        vraitableau(1, 3).BackColor = Color.Indigo
        vraitableau(2, 0).BackColor = Color.Maroon
        vraitableau(2, 1).BackColor = Color.Maroon
        vraitableau(2, 2).BackColor = Color.Orange
        vraitableau(2, 3).BackColor = Color.Orange
        vraitableau(3, 0).BackColor = Color.Black
        vraitableau(3, 1).BackColor = Color.Black
        vraitableau(3, 2).BackColor = Color.Turquoise
        vraitableau(3, 3).BackColor = Color.Turquoise
 
        For i As Integer = 0 To 3
            For j As Integer = 0 To 3
                Randomize()
                Dim value1 As Integer = CInt(Int((4 * Rnd())))
                Dim value2 As Integer = CInt(Int((4 * Rnd())))
 
                Dim button1 As Color = vraitableau(i, j).BackColor
                vraitableau(i, j).BackColor = vraitableau(value1, value2).BackColor
                vraitableau(value1, value2).BackColor = button1
 
            Next
        Next
 
    End Sub
    Private Sub tableau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim coord() As String
        Dim i, j As Integer
        coord = Split(sender.tag, ";" )
 
        i = CType(coord(0), Integer)
        j = CType(coord(1), Integer)
 
 
        'Debug.WriteLine("Touche activée" )
 
 
        If tableau(i, j).BackColor = Color.DarkGray Then
 
            tableau(i, j).Visible = False
        End If
 
    End Sub
 
 
 
 
End Class


Message édité par bendri00 le 07-01-2009 à 19:12:59
Reply

Marsh Posté le 07-01-2009 à 19:11:25   

Reply

Marsh Posté le 07-01-2009 à 21:01:32    

résolu merci ..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed