Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme de code pour un black jack vb [ Algorithme ] (beyleixa)

lundi 15 mai 2006 à 19:27:12 | probleme de code pour un black jack vb

beyleixa

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 Then
                    carte(i) = " de carreau"
                ElseIf tab(i) > 13 And tab(i) <= 26 Then
                    carte(i) = " de pique"
                    tab(i) = tab(i) - 13
                ElseIf tab(i) > 27 And tab(i) <= 39 Then
                    carte(i) = " de coeur"
                    tab(i) = tab(i) - 26
                Else : carte(i) = " de trèfle"
                    tab(i) = tab(i) - 39
                End If
            Next

            'ici on met tout les chiffre de tab() sur la base de 13 pour pouvoir attribuer un peu plus loin les valeurs de cartes plus rapidement
            For i = 0 To 9
                If tab(i) > 13 And tab(i) <= 26 Then
                    tab(i) = tab(i) - 13
                ElseIf tab(i) > 27 And tab(i) <= 39 Then
                    tab(i) = tab(i) - 26
                Else : tab(i) = tab(i) - 39
                End If
                'et on stocke les valeurs et les noms des cartes tirées respectivement dans valeur () (pour compter les pts) et dans carte()
                'une carte entre 1 et 10 garde sa valeur et sa dénomination correspond au chiffre
                'pour les têtes (valet, dame et roi) on est obligé de faire au cas par cas.
                If tab(i) <= 10 Then
                    carte(i) = tab(i) & carte(i)
                    valeur(i) = tab(i)
                ElseIf tab(i) = 11 Then
                    carte(i) = "Valet" & carte(i)
                    valeur(i) = 10
                ElseIf tab(i) = 12 Then
                    carte(i) = "Dame" & carte(i)
                    valeur(i) = 10
                Else : carte(i) = "Roi" & carte(i)
                    valeur(i) = 10
                End If
            Next

 


            'on met a jour les scores et les mains (juste pour une carte pour l instant) des 2joueurs (banquier et humain) en sachant que les cartes et leurs valeurs
            'du joueur vont de carte et valeur (0) a (4)/ et (5) a (9) pour le banquier
            score = valeur(0)
            main = carte(0)
            scorebanquier = valeur(5)
            mainbanquier = carte(5)

            'ici on s occupe du banquier on le fait piocher ou pas selon son score. si son score est strictement inférieur a 16, alors il repioche sion on sort de la boucle (k=k+5)

 


            For k = 6 To 9

                If repioche = True Then
                    scorebanquier = scorebanquier + valeur(k)
                    mainbanquier = mainbanquier & " et" & k - 5 & " carte(s) face cachée"
                    If scorebanquier >= 16 Then
                        repioche = False
                    End If
                End If
            Next

            'ici on annonce aux joueurs les cartes que le banquier a, les cartes que lui-
            'même a, et on lui propose de repiocher. S il veut pas ou s il a déjà 21 pts
            'ou plus on sort de la boucle
            For h = 1 To 4
                score = score + valeur(h)
                main = main & ", et " & carte(h)
                If tirercarte = True Then
                    If score < 21 Then
                        tirer = InputBox("Vous avez en main: " & main & ". Cela vous fait un total     de " & score & ". Quant au banquier il a" & mainbanquier & "Veux-tu repiocher une carte? Tape oui ou non. ")
                        If tirer = "non" Then
                            tirercarte = False
                        End If
                    End If
                End If
            Next

            'ici on compare le score du joueur à la limite (21) et au score du banquier
            'pour déterminer s il y a victoire ou pas, et donc faire gagner ou pas de
            'l argent au joueur.
            'on renvoie aux messages qui ont été initialisés plus haut.

            If score > 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 <= 0 Then
                x = x + Nbpartie
            End If
        Next
        'ici on affiche un message différent selon s il reste ou pas de l argent au joueurs.
        If argent <= 0 Then
            MsgBox("Vous n'avez pas assez d'argent pour continuer. Désolé!")
        Else : MsgBox("Vous avez fini vos " & Nbpartie & ". Il vous reste " & argent & ". Au revoir et à bientôt")
        End If


dimanche 21 mai 2006 à 10:46:27 | Re : probleme de code pour un black jack vb

louloute26

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...

lundi 9 mars 2009 à 07:42:57 | Re : probleme de code pour un black jack vb

Londonic

 
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
 




Cette discussion est classé dans : valeur, carte, tab, score, argent


Répondre à ce message

Sujets en rapport avec ce message

Comment donner une valeur à des images ? [ par Fripouil ] Voila je reviens sur mon jeu de carte la bataille...Voila j ai 52 images ( représentant un jeu de carte ) 0.jpg,......, 51.jpgUn bouton Distribueret 5 faire mentir l'ordi en c++ pendant un jeu de dés [ par chacamos ] le jeu ce compose de 2 dés On doit tjs annoncé un score supérieur au précedent Les doubles sont supérieur au simple (11 est supérieur au 65 par exemp Valeur des Tab dans un controle TEXTBOX [ par G.Cliff ] Je cherche comment régler la valeur des Tabulations dans un controle TEXTBOXNT4 / VB5 (sp3)Merci de votre réponse valeur du son [ par stacco ] salut a tousest-il possible par une fonction ou autre methode de recuperer la "valeur" du son en sortie de la carte sonen fait je doit faire varier un Recupérer valeur de sortie volume de la carte son!!! [ par pcpunch ] Slt je cherche a faire un genre de Vu métre numérique, comme ceux des chaine Hifi!!G bien trouver une source d'un Osciloscope que g adapter et déposer Distribution de carte [ par Fripouil ] Bonjour,Alors voila je suis en train de faire un jeu de carte (style bataille) et j' aimerais savoir comment faire pour distribuer les 52 cartes aléat URGENT !! Besoin d'aide sur vb pour access [ par eleandar ] Voilà, je voudrais filtrer un état à partir d'une valeur prise sur une liste déroulante. La valeur sélectionnée dans la liste servirait de valeur pour Récup de valeur dans cellule Excel? [ par Neglaus ] Bonjours ben voila g une question qui va sûrement vous paraître bête mais moi je m'en sors pas faut dis que je débute en programmation. Donc voila le Pourquoi cette erreur ??? [ par Fripouil ] Voila j' ai une erreur de type : Type Incompatible à la ligne indiquez par la fleche.Private Distribuee(0 To 51) As BooleanPrivate Sub DistributionCar la virgule de oracle urgent [ par bleusiel ] bonsoir,mon probleme est le suivant: je peux inserer des nombres doubles tel que 46.6 dans la base oracle via odbc . quand je consulte la valeur via s


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.