Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
morpion_console [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


morpion_console

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Dernière révision Les deux révisions suivantes
morpion_console [2008/05/10 08:49]
tyrtamos
morpion_console [2008/05/10 08:57]
tyrtamos
Ligne 1: Ligne 1:
 ====== Un jeu de morpion (tic-tac-toe) en console, utilisant le modèle pour jeu "damier" ====== ====== Un jeu de morpion (tic-tac-toe) en console, utilisant le modèle pour jeu "damier" ======
- 
-//**En construction**// 
  
 \\ \\
Ligne 42: Ligne 40:
 Cette fonction "ajouer(pion)" fait les choses suivantes: Cette fonction "ajouer(pion)" fait les choses suivantes:
  
-  * calcule s'il y a des coups gagnants. Par exemple avec le pion 'X', si on a une ligne 'X_X', le fait de jouer dans la case du milieu fait gagner le jeu. En principe, s'il y a un coup gagnant, il est inutile de chercher plus loin: il faut seulement le jouer.+  * calcule s'il y a des coups gagnants (fonction coupsgagnants(pion)). Par exemple avec le pion 'X', si on a une ligne 'X_X', le fait de jouer dans la case du milieu fait gagner le jeu. En principe, s'il y a un coup gagnant, il est inutile de chercher plus loin: il faut seulement le jouer.
  
-  * calcule s'il y a des coups perdants, c'est à dire gagnant pour l'adversaire, au sens précédent. Auquel cas, il faudra jouer cela pour éviter que l'adversaire ne gagne au coup suivant. S'il n'y a aucun coup gagnant mais un coup perdant, il est inutile de chercher plus loin: il faut impérativement jouer le coup perdant. Bien entendu, s'il y a 2 coups perdants, c'est cuit, à part si l'adversaire est distrait... (Tiens, comment on simule la distraction chez un joueur ordinateur?)+  * calcule s'il y a des coups perdants, c'est à dire gagnant pour l'adversaire, au sens précédent (fonction coupsgagnants(pion) avec le pion de l'adversaire). Auquel cas, il faudra jouer cela pour éviter que l'adversaire ne gagne au coup suivant. S'il n'y a aucun coup gagnant mais un coup perdant, il est inutile de chercher plus loin: il faut impérativement jouer le coup perdant. Bien entendu, s'il y a 2 coups perdants, c'est cuit, à part si l'adversaire est distrait... (Tiens, comment on simule la distraction chez un joueur ordinateur?)
  
-  * calcule tous les coups possibles (=cases vides), leur affecte des coefficients (que vous pouvez changer) qui dépendent de la position de la case, et les présente sous forme d'une liste de coup [ligne,colonne] dans l'ordre décroissant des coefficients.+  * calcule tous les coups possibles correspondant aux cases vides (fonction initcoef()), leur affecte des coefficients qui dépendent de la position de la case (fonction pondcoef()), et les présente sous forme d'une liste de coup [ligne,colonne] dans l'ordre décroissant des coefficients (fonction coupscoef()).
  
   * en reprenant cette même liste, la fonction "correction()" met en avant la 1ère des solutions, si elle existe, qui a au moins une ligne ou une colonne ou une diagonale qui ne contient pas le pion de l'adversaire. Ceci pour éviter que le coup recommandé à cause d'un coefficient élevé soit inefficace (=on remplit une case sans aucun intérêt pour la suite du jeu).   * en reprenant cette même liste, la fonction "correction()" met en avant la 1ère des solutions, si elle existe, qui a au moins une ligne ou une colonne ou une diagonale qui ne contient pas le pion de l'adversaire. Ceci pour éviter que le coup recommandé à cause d'un coefficient élevé soit inefficace (=on remplit une case sans aucun intérêt pour la suite du jeu).
  
-Il y a aussi, bien entendu une fonction qui détecte si il y a une configuration gagnante, et donc un gagnant, ou si la grille est pleine sans gagnant.  +Il y a aussi, bien entendu, la fonction "jeugagne()" qui détecte s'il y a une configuration gagnante, et donc un gagnant, et la fonction "grillepleine()" qui dit si la grille est pleine sans gagnant. 
  
 Et voilà! Et voilà!
morpion_console.txt · Dernière modification: 2008/05/10 09:00 de tyrtamos