Meilleurs commentaires

This commit is contained in:
Mylloon 2021-11-04 21:54:22 +01:00
parent 55cbeb5c28
commit 7b2aa9e8ac

View file

@ -256,6 +256,7 @@ class Minimax(Morpion):
return not len(self.gagnant) == 0 or self._egalite() return not len(self.gagnant) == 0 or self._egalite()
def _coupsPossibles(self) -> list: def _coupsPossibles(self) -> list:
"""Renvoie la liste des coups possibles dans le plateau."""
coups = [] coups = []
for i in range(len(self.plateau)): for i in range(len(self.plateau)):
for j in range(len(self.plateau[i])): for j in range(len(self.plateau[i])):
@ -263,14 +264,18 @@ class Minimax(Morpion):
coups.append(self.plateau[i][j]) coups.append(self.plateau[i][j])
return coups return coups
def _ennemi(self, joueur) -> list: def _ennemi(self, joueur) -> str:
"""Renvoie l'ennemi du joueur en argument."""
if joueur == self.humain: if joueur == self.humain:
return self.robot return self.robot
return self.humain return self.humain
def minimax(self, joueur: str, profondeur: int = 0) -> list: def minimax(self, joueur: str, profondeur: int = 0):
"""Fonction Minimax qui décide quel case est la plus intéressante.""" """
# return super()._demandeCaseB() # On ne change rien au comportement du Morpion Fonction Minimax qui décide quel case est la plus intéressante.
Profondeur par défaut à `0` car commence à `0`.
"""
if joueur == self.robot: if joueur == self.robot:
meilleursCas = -10 meilleursCas = -10
else: else:
@ -321,7 +326,7 @@ if __name__ == "__main__": # Si on lance directement le fichier et on s'en sert
-> Si deux arguments : Précisez le nom des deux joueurs qui vont jouer (Rappel: un joueur = un charactère). -> Si deux arguments : Précisez le nom des deux joueurs qui vont jouer (Rappel: un joueur = un charactère).
-> Si trois arguments : Précisez alors la taille le nom des deux joueurs et la taille du tableau, en suivant les règles précédentes. -> Si trois arguments : Précisez alors la taille le nom des deux joueurs et la taille du tableau, en suivant les règles précédentes.
""" """
sys.argv.pop(0) sys.argv.pop(0) # on retire le nom du fichier (première valeure de `argv`)
try: # on ne vérifie pas si la taille est bonne, en cas d'erreur on lance le programme avec les paramètres par défaut try: # on ne vérifie pas si la taille est bonne, en cas d'erreur on lance le programme avec les paramètres par défaut
if len(sys.argv) == 1: if len(sys.argv) == 1:
Minimax(taille = tuple([int(i) for i in sys.argv[0].split('x')])).jouer() # On spécifie la taille du tableau Minimax(taille = tuple([int(i) for i in sys.argv[0].split('x')])).jouer() # On spécifie la taille du tableau