Table des matières
TD - Création d’un jeu de Blackjack en JavaScript
L’objectif de cette séance est de créer un jeu de Blackjack simple avec un seul joueur en JavaScript, en utilisant les cartes HTML/CSS du TD précédent.
Partie 1 : Blackjack sans croupier
Règles du jeu (version simplifiée)
- But du jeu : Obtenir une main dont la valeur totale est la plus proche possible de 21 sans le dépasser.
- Valeur des cartes :
- Les cartes de 2 à 10 ont leur valeur nominale.
- Les Figures (Valet, Dame, Roi) valent 10 points.
- L’As vaut 1 ou 11 points, selon ce qui est le plus avantageux pour le joueur.
- Déroulement :
- Le joueur commence avec deux cartes.
- Il peut choisir de tirer des cartes supplémentaires pour améliorer sa main.
- Si la valeur totale de sa main dépasse 21, il perd.
- Dans cette version simplifiée, il n’y a pas de croupier. Le but est simplement de ne pas dépasser 21.
Travail à réaliser
1. Création de la page web
- Créez une page HTML représentant une table de Blackjack.
- Utilisez les cartes HTML/CSS du TD précédent pour afficher les cartes.
- Ajoutez un bouton “Tirer une carte” qui permettra au joueur de tirer une carte aléatoirement depuis le paquet.
- Affichez les cartes tirées sur la table afin que le joueur puisse voir toutes les cartes de sa main.
2. Codage du jeu
- En JavaScript, créez un paquet de 52 cartes (sans les jokers) en utilisant une structure de données appropriée (par exemple, un tableau).
- Lorsqu’on clique sur le bouton “Tirer une carte” :
- Sélectionnez une carte aléatoire du paquet.
- Ajoutez cette carte à la main du joueur.
- Mettez à jour l’affichage pour montrer la nouvelle carte sur la table.
- Calculez la valeur totale de la main du joueur après chaque tirage.
- Si la valeur totale dépasse 21 :
- Affichez un message indiquant que le joueur a perdu.
- Si la valeur totale est égale à 21 :
- Affichez un message indiquant que le joueur a gagné.
- Le joueur peut choisir d’arrêter de tirer des cartes à tout moment.
Instructions supplémentaires
- Gérez le cas de l’As qui peut valoir 1 ou 11 points en fonction de ce qui est le plus avantageux pour le joueur.
- Assurez-vous que chaque carte ne puisse être tirée qu’une seule fois (une carte ne peut pas être tirée plusieurs fois).
Partie 2 : Blackjack avec croupier
Règles du jeu (version avec croupier)
- But du jeu : Avoir une main dont la valeur totale est supérieure à celle du croupier sans dépasser 21.
- Valeur des cartes :
- Identique à la première partie.
- Déroulement :
- Le joueur et le croupier reçoivent chacun deux cartes.
- Une des cartes du croupier est face cachée.
- Le joueur peut choisir de tirer des cartes supplémentaires pour améliorer sa main.
- Si le joueur dépasse 21, il perd immédiatement.
- Une fois que le joueur a terminé, le croupier révèle sa carte cachée.
- Le croupier doit tirer des cartes jusqu’à atteindre au moins 17 points.
- Si le croupier dépasse 21, le joueur gagne.
- Sinon, celui qui a la main la plus proche de 21 sans le dépasser gagne.
Travail à réaliser
1. Modification de la page web
- Ajoutez une zone pour afficher la main du croupier.
- Affichez une des cartes du croupier face cachée au début du jeu.
- Ajoutez un bouton “Arrêter” permettant au joueur de terminer son tour et de laisser le croupier jouer.
2. Codage du jeu
- Distribuez deux cartes au joueur et deux cartes au croupier au début du jeu.
- Affichez une carte du croupier face visible et l’autre face cachée.
- Mettez à jour les fonctions pour gérer le tour du joueur :
- Le joueur peut choisir de tirer une carte ou s’arrêter.
- Si le joueur dépasse 21, il perd immédiatement et le jeu se termine.
- Une fois que le joueur s’arrête :
- Révélez la carte cachée du croupier.
- Le croupier tire des cartes selon les règles :
- Il doit continuer à tirer tant que sa main est inférieure à 17.
- S’il atteint ou dépasse 17, il s’arrête.
- Déterminez le vainqueur en comparant les mains du joueur et du croupier.
- Affichez un message indiquant si le joueur a gagné, perdu ou s’il y a égalité.
Instructions supplémentaires
- Gérez les égalités : si le joueur et le croupier ont la même valeur de main, la partie est nulle.
- Ajoutez un bouton Rejouer pour réinitialisez le jeu après chaque partie.