Probleme de code pour un black jack vb

Signaler
Messages postés
1
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
15 mai 2006
-
Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009
-
bonjour tt le monde... ça serait pour savoir si vous pouviez jeter un oeil a cet algo qui marche pas trop trop.... merci d'avance

Dim i, j, k, h, x, Nbpartie, score, scorebanquier, argent, mise, valeur(9), tab(9) As Integer
Dim carte(9), main, mainbanquier, message(6), tirer As String
Dim tirercarte, repioche As Boolean

'initialisation des variables
message(0) = "Vous avez perdu cette donne. "
message(1) = "il vous reste" & argent
message(2) = "Egalité, vous regagnez néanmoins ce que vous avez misé"
message(3) = "BLACK JACK !!! Vous gagnez 3 fois votre mise"
message(4) = "vous avez gagné cette donne, vous gagnez 2 fois votre mise"
message(5) = "Vous n'avez pas assez d'argent pour continuer. Désolé!"
message(6) = "Vous avez fini vos " & Nbpartie & ". Il vous reste " & argent & ". Au revoir et à bientôt" i j k = h = x = Nbpartie = score = scorebanquier = mise = 0
argent = 500 main mainbanquier "" tirer repioche True


'nombre de partie et controle de la mise qui ne doit pas dépasser l'argent du joueur.
Nbpartie = InputBox("Combien de parties voulez vous faire")


For x = 0 To Nbpartie - 1
mise = InputBox("Combien voulez-vous miser, sachant qu'il vous reste " & argent)


Do While mise > argent
mise = InputBox("Combien voulez-vous miser, sachant qu'il vous reste " & argent)
Loop


argent = argent - mise





' ici commence la génération des chiffres aléatoires qui seront stockés dans tab()
'et qui vont déterminer les cartes des joueurs stockées, elles, dans cartes()


Randomize()



'permet d éviter les doublons dans le tableau, et donc dans le jeu des joueurs


tab(0) = Int(Rnd() * 52) + 1



For i = 1 To 9
tab(i) = Int(Rnd() * 52) + 1
Do While tab(i) = tab(i - 1)
If tab(i) = 0 Then
tab(i) = Int(Rnd() * 52) + 1
End If
Loop
Next
For i = 0 To 9
'ici on stocke dans le tableau carte() les couleurs des cartes tirées
If tab(i) 13 And tab(i) 27 And tab(i) 21 And score > scorebanquier Then
MsgBox("Vous avez perdu cette donne.il vous reste " & argent)
ElseIf score < 21 And scorebanquier < 21 And score < scorebanquier Then
MsgBox("Vous avez perdu cette donne.il vous reste " & argent)
ElseIf score = scorebanquier Then
argent = argent + mise
MsgBox("Egalité, vous regagnez néanmoins ce que vous avez misé. il vous reste " & argent)
ElseIf score = 21 Then
argent = argent + 3 * mise
MsgBox("BLACK JACK !!! Vous gagnez 3 fois votre mise. il vous reste " & argent)
Else : MsgBox("vous avez gagné cette donne, vous gagnez 2 fois votre mise. il vous reste " & argent)
End If
'si le joueur n a plus d argent alors il perd et ne peut plus continuer les
'parties qu il avait prévues.
If argent

2 réponses

Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
21 mai 2006

Salut !!
Ya des types super forts ici qui ont résolu mon pbm de Mastermind ^^
Donc pour moi ça marche, je l'ai rendu à la prof. J'ai un peu la flemme et pas du tout le temps de regarder ton programme, et puis c'est sûrement pas moi qui vais trouver ton erreur. Donc j'ai filé un lien vers ton BlackJack à mes "sauveurs de VB",  peut-être que ça va les motiver !
Bonne chance, et à bientôt à la fac !
Moi...
Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009

 
Bonne base pour développer le jeu. On trouvera vite des WPF dour distribuer les cartes, car c'est là que le bât blesse: Le jeu est très mal distribué. On le voit mieux en ajoutant ce qui suit Dans le corps de Private Sub Beyleixa(), et la déclaration d'étiquette dans le Form1.
  
'ici on affiche le jeu de cartes
            Etiquette.Text = ""
            For i = 1 To 9
                Etiquette.Text = valeur(i) & carte(i) & vbLf
            Next
 
    Dim Etiquette As New Label
    Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
        Etiquette.Dock = DockStyle.Fill
        Controls.Add(Etiquette)
        Beyleixa()
    End Sub