Derniere mise a jour : 9 fevrier 2026

Jeu Blackjack CLI

2024 Jeu Console Python

Presentation

Objectif principal : Faire un Blackjack jouable dans le terminal. C'etait un projet pour apprendre la POO en Python, avec des classes pour les cartes, le deck et les joueurs.

Technologies utilisees : Python pur, sans bibliotheque externe. J'utilise juste random pour melanger les cartes et colorama pour mettre de la couleur dans le terminal.

Fonctionnalites cles : On peut tirer des cartes ou rester, le croupier joue automatiquement selon les regles classiques (tire jusqu'a 17). Y'a un systeme de mise avec des jetons, et on peut faire plusieurs parties d'affilee.

Livrables attendus : Un script Python qui se lance et permet de jouer au Blackjack. Les cartes s'affichent en ASCII art dans le terminal.

Calendrier previsionnel : Environ 4 jours de dev. Le plus long c'etait de gerer tous les cas speciaux (As qui vaut 1 ou 11, Blackjack naturel, egalite, etc.).

Parties prenantes & criteres de succes : Projet pour le cours d'algo. Le prof voulait voir de la POO bien structuree et un jeu sans bugs.

Le Defi

Le plus galere c'etait de gerer l'As. Il peut valoir 1 ou 11 selon ce qui t'arrange. Faut donc recalculer la valeur de la main a chaque carte tiree. J'ai eu pas mal de bugs au debut parce que je gerais pas bien ce cas.

La Solution

J'ai fait une methode qui compte d'abord tous les As comme 11, puis qui les convertit en 1 un par un tant que le total depasse 21. Ca marche pour n'importe quel nombre d'As dans la main. Simple mais efficace.

Architecture Technique

Classe Card avec valeur et couleur, classe Deck qui contient 52 cartes et les melange, classe Hand pour gerer la main d'un joueur, et classe Game qui orchestre tout. Le croupier a sa propre logique dans une methode separee.

Points Cles

  • Gestion complete des As (1 ou 11)
  • Affichage ASCII art des cartes
  • Systeme de paris avec jetons

Apercu

Resultats & Apprentissages

J'ai bien compris la POO grace a ce projet. Separer le code en classes rend tout plus clair et plus facile a debugger. J'ai aussi appris a gerer les etats d'un jeu (en cours, gagne, perdu, egalite).

Evolutions Futures

Ajouter les regles avancees : split, double down, assurance. Peut-etre faire une version graphique avec Pygame ou une interface web avec Flask.

Retour aux projets Me contacter