Construisez un jeu de blackjack en C ++

Construisez un jeu de blackjack en C ++
Blackjack est le jeu bancaire assez célèbre au monde joué quotidiennement dans le monde entier. C'est entre un joueur et un concessionnaire (pas un autre joueur). Un joueur avait l'habitude de comparer ses cartes avec les concessionnaires. Le joueur doit vaincre le concessionnaire avec certaines règles déjà établies. Trois choses définiront la victoire du joueur. Le joueur doit vaincre le concessionnaire en obtenant les 21 points sur les 2 premières cartes, je.e., naturel ou blackjack. Un autre consiste à obtenir un score plus élevé à la fin. Le troisième est de laisser le contraire dessiner des cartes supplémentaires. Ce guide vous montrera pour créer un jeu de blackjack en C ++ dans Ubuntu 20.04 Système. Nous avons commencé notre programme avec les fichiers d'en-tête nécessaires.

Nous avons déclaré certains prototypes de fonction qui seront utilisés dans le code dans une séquence.

Défini certaines variables globales et la méthode principale (). Les fonctions «règles ()», «difficulté ()» et «playOnehand ()» seront appelées les unes après les autres. Voyons comment ces fonctions fonctionnent.

La méthode «Rule ()» n'a rien à retour.

La méthode «difficulté ()» exécute obtient le niveau de difficulté d'un utilisateur lorsqu'il entre 1 ou 2. Les instructions «IF» sont utilisées pour vérifier si un utilisateur a entré 1 ou 2 ou non. Sinon, le tampon sera nettoyé, et cette fonction «difficulté» sera appelée à nouveau pour entrer le niveau de difficulté.

Une fois que l'utilisateur est entré dans son niveau de difficulté, la fonction «playonehand» a été exécutée. Il a déclaré une variable locale «Play» est égale à «n» puis à une variable «dessiner» dans l'instruction «do». Le tableau «Deck» de taille 52 est déclaré. La fonction «InitializeDeck» est appelée pour initialiser le «pont», et la fonction «Shuffle» est utilisée pour mélanger le pont. Après cela, nous avons initialisé deux listes, «pH» et «DH». Le «pH» représente les mains des joueurs tandis que le «DH» représente la main du concessionnaire.

Nous avons appelé la fonction «addtohand» tout en le faisant passer la fonction «gettopcard» et les tableaux «pH» ou «dh» dans un ordre aléatoire. Dans la fonction «gettopcard ()», nous avons également passé le tableau «deck» comme un argument de paramètre. Les déclarations COUT montrent que le mélange a été fait. La fonction «NaturalblackJack» et la fonction «blackjack» sont appelées avec 3 paramètres, je.e., pH, dh, y ou y. La fonction «Showcards ()» est appelée 2 fois pour afficher les cartes dans la main du joueur et du concessionnaire. La fonction «Checksoftorhard» est appelée pour modifier la valeur d'une carte ACE par un utilisateur. Bien que la fonction «UserwantStoDraw» soit appelée, nous effectuerons certaines actions.

Pendant que Loop appelle AddToHand (), Showcards (), CheckoftorHard (), CheckBust () et BlackJack (). La fonction HitUntiLStands (), CheckBust (), BlackJack (), Whowins () est à l'extérieur pour vérifier la victoire, la perte et l'afficher. Tandis que le «playanotherhand» est appelé à jouer une fois de plus si vous le souhaitez.

La fonction «InitializeDeck» est utilisée pour construire les valeurs des arrière-plans de cartes pour définir le rang en position 10S et la combinaison en position des années 100. Vous pouvez voir, nous avons utilisé la boucle pour les coeurs, les diamants, les clubs et les piques séparément.

Voici la méthode «Shuffle», qui est utilisée pour réorganiser les cartes au hasard. Cela a été fait avec une énorme boucle, et les clones de cartes ont été réalisées. Il continuera de fonctionner jusqu'à la fin de la boucle et que toutes les cartes soient mélangées.

Nous avons appelé cette fonction dans le paramètre de fonction «addtohand», alors discutez-le d'abord. Donc, il a pris le tableau «deck» dans son paramètre et en boucle toutes ses cartes jusqu'au dernier. Il découvrira la carte spécifique du jeu qui n'est pas vide et en fera d'abord une copie. Ensuite, cela le rendra vide en remplaçant et en renvoyant la valeur copiée, je.e., la variable «TopCard», à la fonction «addtohand».

Maintenant, la fonction «addtohand» prend la fonction «TopCard» de la fonction «getTopcard», et le tableau «main []» qui lui a été transmis, soit c'est le concessionnaire «DH» ou le «ph» à main du joueur. Si la main a une place vide pour la carte, elle remplacera cette place par la valeur «cardtoadd» renvoyée de la valeur «getTopcard».

Cette fonction obtiendra les scores des joueurs et des concessionnaires en utilisant PH et DH. Il vérifie si le joueur a un blackjack ou non. Si c'est le cas, il appellera la fonction «tableau de bord», calculez la fonction gagnante, appelez la fonction «backdoorkenny», puis la fonction «playanotherhand».

La fonction «blackjack» vérifiera si le joueur a un blackjack ou les deux le joueur et un concessionnaire ont un blackjack. Si un joueur a un blackjack, il appellera la fonction «tableau de bord», «backdoorkenny» et «playanotherhand» tout en calculant les gains. Si les deux ont le blackjack, il appellera la fonction «tableau de bord» et «Playanotherhand» tout en calculant les gains.

Les «Showcards» consistent à afficher les valeurs de la carte au terminal tandis que le jeu n'est pas vide pour les joueurs et les concessionnaires.

La fonction «Checksoftorhard» sera exécutée pour demander à un utilisateur s'il veut que Ace soit compté comme 1 ou 11. Grâce à cela, nous calculerons d'autres scores ou cartes.

L'appel de fonction «UserwantStoDraw» demandez à l'utilisateur de dessiner une autre carte ou de sauter la boucle. Si l'utilisateur entre «H» ou «H», cela signifie jouer une fois de plus, ou il sera sauté.

La fonction «CheckBust» est appelée lorsqu'un joueur ou un concessionnaire rencontre un score de 21.

Cette fonction «HitUntilstand» sera utilisée pour laisser un concessionnaire frapper pendant qu'il obtient 17. Il serait décodé aux niveaux débutant ou expert,

La fonction «Softorhardai» a été appelée ici pour jouer judicieusement.

Voici la fonction «GethandValue ()» pour résumer les valeurs de la carte en obtenant les valeurs de la fonction «cardvalue» et en renvoyant la mise à jour.

Voici la fonction «cardvalue», qui vérifie l'arrière-plan d'une carte pour obtenir sa valeur 10S. Cela peut être appelé pour n'importe quelle carte, et il sera appelé plusieurs fois dans ce code.

La fonction «tableau de bord» prend du pH et DH pour afficher les cartes actuelles du lecteur et du concessionnaire à l'aide de la «Showcards ()» et affiche la valeur de la carte à l'aide de la fonction «Gethandvalue».

Lorsqu'un utilisateur a 1 carte de 10 points tandis que la deuxième carte est «ACE», en utilisant la fonction «cardvalue», il calculera sa gagnante en tant que paiement 1: 4.

Cette fonction est appelée lorsque nous voulons connaître le rang de la carte actuelle et son costume.

Les rangs sont vérifiés avec l'instruction «Switch» et les combinaisons sont vérifiées via des instructions IF-Else.

La méthode «DumpDeck» sera appelée pour afficher les valeurs du pont.

Le «getrandomnumber» a été utilisé dans le programme pour obtenir un nombre de valeurs élevées et faibles fournies.

Cette fonction est une question de logique pour vérifier si le concessionnaire a un «ACE» ou non. Si c'est le cas, le concessionnaire essaiera de créer 21 et de gagner.

La fonction «whowins ()» sera appelée pour décider du gagnant en utilisant leurs scores.

La fonction playanotherhand () est appelée pour inviter l'utilisateur s'il veut jouer une fois de plus après un jeu entier.

La compilation est effectuée à l'aide du compilateur «G ++».

L'exécution montre le panneau de blackjack. Alors, voilà.

Conclusion:

Cet article est un paquet complet d'un code C ++ pour créer un jeu blackjack dans Ubuntu 20.04. Nous avons utilisé plus de 20 fonctions définies par l'utilisateur pour réaliser ses fonctionnalités. Toutes les fonctions sont interdépendantes, et nous avons essayé de minimiser la complexité en les expliquant dans une séquence. Nous espérons que tout cet article sera facile à comprendre.