Jeu du blackjack
Le but de TD est de programmer une partie de blackjack pour ensuite simuler un grand nombre de parties et (peut-être) trouver le moyen de perdre le plus lentement possible son argent au casino.
Règles du jeu
Chaque joueur joue contre le croupier, (qui représente la banque, ou le casino) et non contre les autres joueurs.
But du jeu
Après avoir reçu deux cartes, le joueur tire des cartes pour s’approcher de la valeur 21 sans la dépasser. Le but du joueur est d’obtenir un total de points supérieur à celui du donneur sans dépasser 21.
Valeurs des cartes au blackjack
Chaque carte numérotée de 2 à 10, a sa valeur nominale (égale au numéro sur la carte). Les valets, les dames et les rois (les figures), ont une valeur de 10 points : ces cartes sont appelées des bûches par les compteurs de cartes. L’As vaut 1 point ou 11 points, selon ce qui arrange au mieux le joueur : une sorte de “joker”. La meilleure combinaison possible est le blackjack, à savoir la valeur 21 obtenue avec deux cartes (AS + FIGURE). Dans ce cas précis, le paiement se fait automatiquement à 3:2, le joueur emporte 1,5 fois sa mise.
Le jeu de blackjack
Les joueurs placent leurs mises avant que le croupier ne distribue les cartes. Le donneur distribue deux cartes visibles à chaque joueur et deux cartes à lui-même, une visible, l’autre cachée (retournée).
Faire un blackjack : Il y’a blackjack lorsque un joueur reçoit 2 cartes totalisant une valeur de 21 lors de la première donne (un As et un 10 ou une figure). C’est la meilleure main que l’on puisse avoir, le joueur gagne une fois et demi sa mise initiale. Si un joueur a un blackjack, le croupier paiera le joueur immédiatement avant de continuer avec les autres joueurs de la table.
Le tour des joueurs : Après avoir reçu vos deux premières cartes et que tous les blackjacks de la table ont été payés, Un joueur peut rester ou tirer une nouvelle carte. Après avoir reçu une troisième carte, le joueur peut s’arrêter ou en demander une nouvelle et ce, autant de fois qu’il le souhaite à condition qu’il ne dépasse pas un total de 21 (auquel cas, il perd).
Le tour du croupier : Le croupier est le dernier joueur à agir. Une fois que tous les joueurs ont joué, le croupier montre sa carte cachée, révélant ainsi la valeur en cours de sa main et il continue de jouer sa main comme tout joueur. Le croupier doit continuer de tirer jusqu’à qu’il ait une valeur d’au moins 17, il restera alors.
Si le croupier a une valeur totale de 16 ou moins, il doit tirer des cartes additionnelles pour tenter d’avoir une valeur entre 17 et 21. Si le croupier dépasse 21, tous les joueurs qui sont en lice gagnent. Sinon, les joueurs qui ont un total supérieur à celui du donneur gagnent et les joueurs qui ont un total inférieur perdent. En cas d’égalité, la mise du joueur est remboursée (l’argent ne change pas de main). Une fois que toutes les mains ont été payées ou que les mises ont été encaissées, une nouvelle donne peut avoir lieu.
Programmation
Créer une classe Banquier
qui possède comme membres:
- un entier
PremiereCarte
, - un entier
Score
, - un pointeur de double qui contiendra un tableau de l’évolution des gains ou des pertes de la banque,
ainsi que :
- un constructeur,
- un destructeur,
- les méthodes
Get
etSet
nécessaire, - une méthode pour générer une nouvelle partie,
- une méthode débutant la partie et en inspectant les blackjacks,
- une méthode demandant à chaque joueur de tirer des cartes ou non,
- une méthode simulant la fin de partie où la banque joue puis répartit les gains.
La classe Banquier
doit être amie (friend
) de la classe joueur.
Créer une classe Joueur
qui possède :
- un entier
Score
, - un pointeur de double qui contiendra un tableau de l’évolution des gains ou des pertes du joueur,
- un entier
Mise
, - un booléen
EnJeu
, - une énumeration qui répertoriera plusieurs types de jeu possibles i.e.
enum TypeDeJeu{PRUDENT, NORMAL, RISQUE}
,
et devra disposer des méthodes suivantes :
- un constructeur,
- un destructeur,
- les méthodes
Get
etSet
nécessaires, - une méthode
Mise
qui selon leTypeDeJeu
du joueur mise une somme au départ, - une méthode
Jeu
qui selon leTypeDeJeu
du joueur et ce que la banque à tirer comme première carte décide de tirer ou non des cartes supplémentaires.