Stocker les ressources dans le .exe à la place du dossier.

Résolu
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012
- 15 déc. 2011 à 17:46
NHenry
Messages postés
14999
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 septembre 2022
- 17 déc. 2011 à 00:40
Bonjour,

Je créer un programme avec Design perso.
J'ai donc recréé les boutons du haut de fenêtre, mais pour que cela fonctionne je suis obliger de mettre les images des boutons dans le même dossier.
Je souhaiterai stocker les images dans le exe.
Est-ce possible ?

Merci d'avance.

61 réponses

KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 18:13
Je vais tester avec ça mais ça me parait lourd pour comparer si ce son les mêmes.
If boulechoix1.Image.PixelFormat = boule1.Image.PixelFormat Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 18:21
Si je fais comme ci-dessus tout les boules sont détécté comme identique.
Je poursuis mes recherches.
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 18:49
Je sais comment faire mais avec 5 fois plus de code lol
Donc comparé chaque bouton 5 fois (5couleurs)

Si image1 = ressources1
si image2 = ressource1
+1 point
Si image1 = ressources2
si image2 = ressource2
+1 point
etc....

Tandis que si image1 = imge2
+1 point

Ca irai largement plus vite.
0
NHenry
Messages postés
14999
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 septembre 2022
158
16 déc. 2011 à 18:51
Bonjour,

Utilises le mot clé Is :
If boulechoix1.Image Is boule1.Image then

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 18:51
Ah non ça ne fonctionne mêmepas è_é
If boulechoix1.BackgroundImage = My.Resources.BouleVerte Then
            If boule1.BackColor = My.Resources.BouleVerte Then
                score.Text = CStr(CSng(score.Text) + CSng(1)) Then
            End If
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 18:52
Ok je test ça sur le champ !
Gracias :)
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 19:06
Ca n'as pas l'air de fonctionner.
Si je fais :

If boulechoix1.Image Is boule1.Image then 


Sa ne detecte rien.

Si je fais
If boulechoix1.BackgroundImage Is boule1.BackgroundImage then 


Cette fois tout est identique.
0
NHenry
Messages postés
14999
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 septembre 2022
158
16 déc. 2011 à 19:12
Bonjour,

boulechoix1.BackgroundImage Est Nothing, normalement.
Sinon, enregistres les images en mémoire dans un tableau, collection ou des variables, et tu ne charges les images des ressources qu'une fois, puis tu utilises le tableau/collection/variables pour mettre les images dans les contrôles.
Et là le Is devrait fonctionner.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 19:30
Sois je l'ai mal fait, sois ça ne fonctionne pas.
Je pense pour la première solution lol.

Code complet (hors form2 qui enregistre le pseudo et lance un timer.

Public Class Form1
    Dim DernierPoint As Point
    Dim MouMouseDown As Boolean

    Dim vert As Image = My.Resources.BouleVerte
    Dim violet As Image = My.Resources.BouleViolette
    Dim rouge As Image = My.Resources.BouleRouge
    Dim orange As Image = My.Resources.BouleOrange
    Dim bleu As Image = My.Resources.BouleBleu
    Dim gris As Image = My.Resources.BouleGrise
    Dim Colors As Image() = New Image() {vert, violet, bleu, rouge, orange, gris}


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        GroupBox3.Enabled = False
        Button2.Enabled = False
        Timer1.Interval = 1000
        Timer1.Start()
        Timer4.Interval = 1000
        Timer4.Start()
    End Sub

    Private Sub diminuer_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles diminuer.MouseLeave
        diminuer.BackgroundImage = My.Resources.diminuer
    End Sub

    Private Sub diminuer_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles diminuer.MouseMove
        diminuer.BackgroundImage = My.Resources.diminuerON
    End Sub

    Private Sub agrandir_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles agrandir.MouseLeave
        agrandir.BackgroundImage = My.Resources.agrandir
    End Sub

    Private Sub agrandir_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles agrandir.MouseMove
        agrandir.BackgroundImage = My.Resources.agrandirON
    End Sub

    Private Sub fermer_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles fermer.MouseLeave
        fermer.BackgroundImage = My.Resources.fermer
    End Sub

    Private Sub fermer_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles fermer.MouseMove
        fermer.BackgroundImage = My.Resources.fermerON
    End Sub

    Private Sub diminuer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles diminuer.Click
        Me.WindowState = FormWindowState.Minimized
    End Sub

    Private Sub fermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles fermer.Click
        Close()
    End Sub

    Private Sub agrandir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles agrandir.Click
        If Me.WindowState = FormWindowState.Normal Then
            Me.WindowState = FormWindowState.Maximized
        ElseIf Me.WindowState = FormWindowState.Maximized Then
            Me.WindowState = FormWindowState.Normal
        End If
    End Sub

    Private Sub control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles control.MouseDown
        MouMouseDown = True
        DernierPoint = New Point(e.X, e.Y)
    End Sub

    Private Sub control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles control.MouseMove
        If MouMouseDown Then
            Me.Location = New Point(Me.Left - (DernierPoint.X - e.X), Me.Top - (DernierPoint.Y - e.Y))
        End If
    End Sub

    Private Sub control_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles control.MouseUp
        MouMouseDown = False
    End Sub


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        Dim isAvailable As Boolean
        isAvailable = My.Computer.Network.IsAvailable
        If isAvailable Then
            led.BackColor = Color.Lime
            Label1.ForeColor = Color.Lime
            Label1.Text = ("Connecté (score en ligne)")
        Else
            led.BackColor = Color.Red
            Label1.ForeColor = Color.Red
            Label1.Text = ("Déconnecté (score en ligne non disponible)")
        End If
    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        boulechoix1.BackgroundImage = gris
        boulechoix2.BackgroundImage = gris
        boulechoix3.BackgroundImage = gris
        boulechoix4.BackgroundImage = gris
        boulechoix5.BackgroundImage = gris
        boulechoix6.BackgroundImage = gris
        boulechoix7.BackgroundImage = gris
        boulechoix8.BackgroundImage = gris
        GroupBox3.Enabled = False
        Me.Timer2.Enabled = False
        Me.Timer2.Stop()
        Dim rnd As System.Random = New System.Random
        Dim vert As Image = My.Resources.BouleVerte
        Dim violet As Image = My.Resources.BouleViolette
        Dim rouge As Image = My.Resources.BouleRouge
        Dim orange As Image = My.Resources.BouleOrange
        Dim bleu As Image = My.Resources.BouleBleu
        Dim Montab As Image() = New Image() {vert, violet, bleu, rouge, orange}
        boule1.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule2.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule3.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule4.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule5.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule6.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule7.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule8.BackgroundImage = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        time.Text = "10"
        Timer3.Interval = 1000
        Timer3.Start()
    End Sub

    Private Sub MenuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuToolStripMenuItem.Click
        If Timer3.Enabled = True Then
            Timer3.Enabled = False
            Timer3.Stop()
            GroupBox1.Show()
        End If
        Form2.Show()

    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick

        If time.Text = "0" Then
            GroupBox1.Hide()
            Timer3.Enabled = False
            Timer3.Stop()
            GroupBox3.Show()
            GroupBox3.Enabled = True
            Button2.Enabled = True
        Else
            time.Text = CStr(CSng(time.Text) - CSng(1))
        End If

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        GroupBox1.Show()
        time.Text = "10"
       
        If boulechoix1.Image Is boule1.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix2.Image Is boule2.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix3.Image Is boule3.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix4.Image Is boule4.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix5.Image Is boule5.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix6.Image Is boule6.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix7.Image Is boule7.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix8.Image Is boule8.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If

        If boulechoix1.Image Is boule1.Image Then
            If boulechoix2.Image Is boule2.Image Then
                If boulechoix3.Image Is boule3.Image Then
                    If boulechoix4.Image Is boule4.Image Then
                        If boulechoix5.Image Is boule5.Image Then
                            If boulechoix6.Image Is boule6.Image Then
                                If boulechoix7.Image Is boule7.Image Then
                                    If boulechoix8.Image Is boule8.Image Then
                                        score.Text = CStr(CSng(score.Text) + CSng(42))
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
        Button2.Enabled = False
        GroupBox3.Enabled = False
        niveau.Text = CStr(CSng(niveau.Text) + CSng(1))
        Timer2.Interval = 5000
        Timer2.Start()

    End Sub



    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim rnd As System.Random = New System.Random
        Dim Montab As Image() = New Image() {vert, violet, bleu, rouge, orange}
        boule1.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule2.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule3.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule4.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule5.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule6.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule7.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule8.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
    End Sub

    Private Sub ChoixColor1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor1.Click
        boulechoix1.Image = vert
    End Sub

    Private Sub ChoixColor11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor11.Click
        boulechoix2.Image = vert
    End Sub

    Private Sub ChoixColor111_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor111.Click
        boulechoix3.Image = vert
    End Sub

    Private Sub ChoixColor1111_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor1111.Click
        boulechoix4.Image = vert
    End Sub

    Private Sub ChoixColor11111_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor11111.Click
        boulechoix5.Image = vert
    End Sub

    Private Sub ChoixColor111111_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor111111.Click
        boulechoix6.Image = vert
    End Sub

    Private Sub ChoixColor1111111_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor1111111.Click
        boulechoix7.Image = vert
    End Sub

    Private Sub ChoixColor11111111_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChoixColor11111111.Click
        boulechoix8.Image = vert
    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        boulechoix1.Image = violet
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        boulechoix2.Image = violet
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        boulechoix3.Image = violet
    End Sub

    Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        boulechoix4.Image = violet
    End Sub

    Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click
        boulechoix5.Image = violet
    End Sub

    Private Sub Button30_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button30.Click
        boulechoix6.Image = violet
    End Sub

    Private Sub Button35_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button35.Click
        boulechoix7.Image = violet
    End Sub

    Private Sub Button40_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button40.Click
        boulechoix8.Image = violet
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        boulechoix1.Image = rouge
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        boulechoix2.Image = rouge
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        boulechoix3.Image = rouge
    End Sub

    Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
        boulechoix4.Image = rouge
    End Sub

    Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
        boulechoix5.Image = rouge
    End Sub

    Private Sub Button29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button29.Click
        boulechoix6.Image = rouge
    End Sub

    Private Sub Button34_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button34.Click
        boulechoix7.Image = rouge
    End Sub

    Private Sub Button39_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button39.Click
        boulechoix8.Image = rouge
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        boulechoix1.Image = orange
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        boulechoix2.Image = orange
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        boulechoix3.Image = orange
    End Sub

    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        boulechoix4.Image = orange
    End Sub

    Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
        boulechoix5.Image = orange
    End Sub

    Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click
        boulechoix6.Image = orange
    End Sub

    Private Sub Button33_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button33.Click
        boulechoix7.Image = orange
    End Sub

    Private Sub Button38_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button38.Click
        boulechoix8.Image = orange
    End Sub

    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        boulechoix1.Image = bleu
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        boulechoix2.Image = bleu
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        boulechoix3.Image = bleu
    End Sub

    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        boulechoix4.Image = bleu
    End Sub

    Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click
        boulechoix5.Image = bleu
    End Sub

    Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
        boulechoix6.Image = bleu
    End Sub

    Private Sub Button32_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button32.Click
        boulechoix7.Image = bleu
    End Sub

    Private Sub Button37_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button37.Click
        boulechoix8.Image = bleu
    End Sub
End Class
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 19:37
J'ai remplacé tout les BackgroundImage par Image mais sans succès non plus.
0
NHenry
Messages postés
14999
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 septembre 2022
158
16 déc. 2011 à 19:41
Bonjour,

Dans le Timer :
Dim rnd As System.Random = New System.Random
Dim vert As Image = My.Resources.BouleVerte
Dim violet As Image = My.Resources.BouleViolette
Dim rouge As Image = My.Resources.BouleRouge
Dim orange As Image = My.Resources.BouleOrange
Dim bleu As Image = My.Resources.BouleBleu
Dim Montab As Image() = New Image() {vert, violet, bleu, rouge, orange}

Un conseil préfixe tes variables :
- l Locale
- m Module
- p Parametre
- g Globale

Ainsi :
lCounter : Variable locale de comptage
mImage1 : Image1 déclarée au niveau du module

Tu verras, ce sera plus simple à lire ensuite.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 19:50
Bonsoir,

Je suis désolé mais je n'ai pas compris la.
Préfixer mes variable donc
Dim b as image = my.resources.BouleBleu

mais là :

Ainsi :
lCounter : Variable locale de comptage
mImage1 : Image1 déclarée au niveau du module

Je ne vois pas ou tu veux en venir.
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 20:06
Et dire qu'avec les couleurs c'était tout bon!
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 21:19
Bonsoir,

J'ai donc renommé les variables de timer2 en remplaçant par ceci :

  Dim rnd As System.Random = New System.Random
        Dim VV As Image = My.Resources.BouleVerte
        Dim VI As Image = My.Resources.BouleViolette
        Dim RO As Image = My.Resources.BouleRouge
        Dim ORA As Image = My.Resources.BouleOrange
        Dim BL As Image = My.Resources.BouleBleu
        Dim Montab As Image() = New Image() {VV, VI, RO, ORA, BL}
        boule1.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule2.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule3.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule4.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule5.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule6.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule7.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))
        boule8.Image = Montab(rnd.Next(Montab.GetUpperBound(0) + 1))


Mais le problème ne vient pas du Random mais de la comparaison entre chaque bille de couleur.
Ce sont des images.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        GroupBox1.Show()
        time.Text = "10"
       
        If boulechoix1.Image Is boule1.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix2.Image Is boule2.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix3.Image Is boule3.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix4.Image Is boule4.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix5.Image Is boule5.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix6.Image Is boule6.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix7.Image Is boule7.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If
        If boulechoix8.Image Is boule8.Image Then
            score.Text = CStr(CSng(score.Text) + CSng(1))
        End If

        If boulechoix1.Image Is boule1.Image Then
            If boulechoix2.Image Is boule2.Image Then
                If boulechoix3.Image Is boule3.Image Then
                    If boulechoix4.Image Is boule4.Image Then
                        If boulechoix5.Image Is boule5.Image Then
                            If boulechoix6.Image Is boule6.Image Then
                                If boulechoix7.Image Is boule7.Image Then
                                    If boulechoix8.Image Is boule8.Image Then
                                        score.Text = CStr(CSng(score.Text) + CSng(42))
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
        Button2.Enabled = False
        GroupBox3.Enabled = False
        niveau.Text = CStr(CSng(niveau.Text) + CSng(1))
        Timer2.Interval = 5000
        Timer2.Start()

    End Sub
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 21:30
C'est fou ça, j'y comprend rien sur ce coup!
Mais du coup les variables juste au dessus ne servent plus à rien.
Merci en tout cas ça fonctionne parfaitement.

        Dim VV As Image = My.Resources.BouleVerte
        Dim VI As Image = My.Resources.BouleViolette
        Dim RO As Image = My.Resources.BouleRouge
        Dim ORA As Image = My.Resources.BouleOrange
        Dim BL As Image = My.Resources.BouleBleu
        Dim Montab As Image() = New Image() {vert, violet, rouge, orange, bleu}


Du coup VV, VI, RO, ORA, BL ne servent plus à rien.
Il fallais juste les déclarer en haut de page... à n'y rien comprendre !
Merci NHenry ma femme va pouvoir jouer au Master Mind lol.
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 21:45
Un petit apperçu, quand même plus sympa avec des images.
0
NHenry
Messages postés
14999
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 septembre 2022
158
16 déc. 2011 à 21:51
Bonjour,

C'est normal, Is test l'égalité des référence, donc si tu regénère un objet, il ne sera forcément pas le même.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

16 déc. 2011 à 22:02
Limite autant déclarer tout ces variables en haut pour être tranquil ?
0
NHenry
Messages postés
14999
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
26 septembre 2022
158
17 déc. 2011 à 00:35
Bonjour,

Oui, ou faire un dictionnaire avec une énumération :
Private Enum MonEnum
Bille1
Bille2
...
End Enum

Private mDict as new Dictionary(Of MonEnum,Image)

Pour l'ajout :
mDict.Add(MonEnum.Bille1,My.Resources.Bille1)

Ensuite pour l'utiliser :
If MonPict.Image Is mDict(MonEnum.Bille1) Then
Ou encore :
MonPict.Image = mDict(MonEnum.Bille1)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
KcHeY
Messages postés
261
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
22 septembre 2012

17 déc. 2011 à 00:38
Bonsoir,

Pour me petit jeu c'est bon, je parlais d'en général.
J'essayerai de voir ça lors de mes prochains prog.

@ Bientôt merci pour ton aide NHenry.

Bonne prog ++
0