Pierre Feuille Ciseaux - Python
Petit jeu en ligne de commande, mon premier vrai projet Python fait en autodidacte.
Contexte
Premier pas en Python, fait en autonomie en complément du BTS SIO SLAM où les langages principaux sont PHP et Java.
Motivation :
• élargir ma stack avec un langage très demandé dans le monde pro
• découvrir une autre approche que la POO Java, avec une syntaxe plus minimaliste
• avoir un projet jouable de bout en bout dès la première semaine d'apprentissage
Objectif
Faire un mini projet complet et fonctionnel pour découvrir Python sans m'éparpiller :
• une seule fonctionnalité, jouable en quelques secondes
• un code linéaire compréhensible d'un coup d'œil
• pas d'abstractions inutiles (pas de classe, pas de structure complexe)
• un jeu qui peut s'enchaîner en boucle jusqu'à ce que le joueur décide d'arrêter
Démarche
Script en un seul fichier, quelques dizaines de lignes, qui se lit de haut en bas :
• une boucle qui englobe toute la partie pour permettre d'enchaîner les manches
• la lecture du choix de l'utilisateur au clavier, comparée à un choix tiré au hasard pour l'ordinateur
• une suite de conditions simples pour comparer les deux choix (pas de calcul malin, juste les six cas possibles écrits en clair)
• un message final qui annonce le résultat de la manche
Choix volontaires d'absence :
• pas de découpage en fonctions, le projet est trop petit pour en bénéficier
• pas de classe ni de POO : l'idée était d'apprendre la syntaxe de base avant de structurer
Bilan
Stack technique :
• Langage : Python 3
• Bibliothèque standard uniquement (`random`)
• Pas de dépendance externe, pas de framework
• Lancement : `python3 pierre_feuille_ciseaux.py`
Améliorations futures envisagées :
• Garder un compteur des victoires, défaites et égalités pendant la session, et l'afficher quand on quitte
• Sauvegarder le score dans un fichier texte pour le retrouver d'une session à l'autre
• Refactoriser avec une petite fonction `jouer_une_manche()` pour découvrir les fonctions Python
• Améliorer un peu l'interface : effacer l'écran entre deux manches, ajouter un peu de couleur via `colorama`