Documentation technique
Prérequis logiciels
Obligatoire | Nom du module | Version |
|---|---|---|
✅ | pip | >=24.2 |
✅ | python | >=3.12 |
❌ | PyCharm |
Documentation de lancement
Pour lancer le jeu, il faut simplement instancier et d'appeler la méthode Puissance4#demarrer_jeu()
Héritage et Sous-Classes
Vous avez la possibiltié de réécrire les méthode Puissance4#victoire_anim() ainsi que Puissance4#afficher_grille().
Aucune de ces deux méthodes ne necessite de renvoyer de valeur spécifique. Cependant pour la fonction Puissance4#victoire_anim() nécessite l'appel de
à la fin de l'execution de celle-ci.
Vous pouvez également utiliser les variables définies colors afin d'afficher du contenu coloré dans la console. Par exemple :
Spécification de toutes les fonctions
Voici la description de toutes les méthodes de la classe Puissance4 avec les types de leurs paramètres et leurs valeurs de retour :
1. __init__()
Description: Initialise la grille de jeu et les variables du jeu.
Paramètres: Aucun.
Retour: Aucun.
2. clear()
Description: Efface le contenu de la console selon le système d'exploitation (Windows ou UNIX).
Paramètres: Aucun.
Retour: Aucun.
3. ajouter_jeton(joueur: int, colonne: int) -> bool
Description: Ajoute un jeton pour le joueur donné dans la colonne spécifiée si elle est valide.
Paramètres:
joueur(int) : Le numéro du joueur (1 ou 2).colonne(int) : L'index de la colonne (de 0 à 6).
Retour:
bool:Truesi l'ajout a réussi,Falsesinon.
4. reset_partie()
Description: Réinitialise la grille de jeu en vidant toutes les colonnes.
Paramètres: Aucun.
Retour: Aucun.
5. verif_ajout(colonne: int) -> bool
Description: Vérifie si l'ajout d'un jeton dans la colonne donnée est possible (colonne valide et non pleine).
Paramètres:
colonne(int) : L'index de la colonne à vérifier (de 0 à 6).
Retour:
bool:Truesi l'ajout est possible,Falsesinon.
6. afficher_grille()
Description: Affiche la grille actuelle du jeu dans la console, avec les jetons des joueurs colorés.
Paramètres: Aucun.
Retour: Aucun.
7. victoire_anim(joueur: int)
Description: Affiche une animation de victoire pour le joueur donné, puis redémarre la partie après avoir attendu l'entrée de l'utilisateur.
Paramètres:
joueur(int) : Le numéro du joueur victorieux (1 ou 2).
Retour: Aucun.
8. verif_gagnant() -> bool
Description: Vérifie si un joueur a gagné en analysant la grille pour des alignements horizontaux, verticaux ou diagonaux de 4 jetons.
Paramètres: Aucun.
Retour:
bool:Truesi un joueur a gagné,Falsesinon.
9. demander_colonne()
Description: Demande à l'utilisateur de saisir la colonne dans laquelle il veut jouer, vérifie si cette action est possible, puis ajoute le jeton si valide. En cas d'erreur ou d'invalidité, il demande à nouveau une colonne.
Paramètres: Aucun.
Retour: Aucun.
10. demarrer_jeu()
Description: Démarre le jeu, affiche un logo ASCII, puis lance la boucle principale du jeu où les joueurs jouent tour à tour.
Paramètres: Aucun.
Retour: Aucun.
Ces méthodes définissent les différentes actions disponibles dans la classe Puissance4.
Orientation défensive.
L'ensemble du code est orienté vers la programmation défensive. Par exemple : a chaque ajout d'élément dans la grille de jeu, la remontée de l'ajout conforme ou non. Les conditions en début de code permettent de s'assurer que cela fonctionne bien.
Flow de fonctionnement
Voici le flow schématique du fonctionnement du logiciel.