begin process at 2012 02 15 09:01:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Algorithme

 > 

probleme de code pour un black jack vb


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de code pour un black jack vb

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ée dans : valeur, carte, tab, score, argent


Répondre à ce message

Sujets en rapport avec ce message

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 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 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 API Windows SCardGetStatusChange Valeur retournée: carte inconnue [ par galeriop ] Je suis en charge d'une petite application en vb.net qui renvoit l'UID d'une carte passée dans un lecteur. Je parviens à lire l'UID de la carte, suite 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 Problème d'implémentation de valeur dans une liste de tableau de valeur [ par pingouin84k ] Hello ! Voici mon problème: J'ai une Sub qui me calcule un tableau de Single. La routine recalcule ce tableau en boucle (itération de calcul). J'ess [déplacé VB6 -> VBA] excel 2007 mise en forme conditionnelle différente sur une plage de cellules suivant 2 critères [ par jeandvt ] Bonjour, voici mon soucis, j'ai une cellule (en L7) qui a pour valeur 1 ou 2, en fonction de cette valeur, je souhaite appliquer une mise en forme con concaténation des valeur reçu du prot com [ par haythem96 ] je suis débutant dans vb et je veut lire les valeur qu'envois mon pic 16f877 et les concaténer le pic envois 32bit par un bloc de 8 bit donc il faut q valeur par jour [ par rescator68 ] bonjour, et bonne année. dur de trouver un titre à mon post.... j'explique mon problème : j'ai une appli qui mesure la température extérieure avec une


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales