Meilleurs commentaires
This commit is contained in:
parent
55cbeb5c28
commit
7b2aa9e8ac
1 changed files with 10 additions and 5 deletions
15
minimax.py
15
minimax.py
|
@ -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
|
||||||
|
|
Reference in a new issue