Pour un jeu de type échec, toutes les possibilités de jeux sont calculées avec un certain nombres de coups à l´avance. La structure de données utilisée n´est pas un tableau mais un arbre.
Lorsque les différentes situations de jeux futures sont calculées elles sont évaluées en fonctions de règles que se fixe (axiomes) comme par exemple le nombres de pions/pièces, occupation de l´échequier, ... afin de savoir laquelle est la meilleure. La meilleures est retenue et l´ont l´IA va choisir le coup qui va permettre de se "diriger" vers la situation voulue.
Minmax est un algo permettant l´exploration et la recherche d´un tel arbre.
Petit lien explicatif en pseudo-code (ca devrait pas être compliqué à coder en C)
http://fearyourself.developpez.com/tutoriel/sdl/morpion/part6/
Ya d´autres algos d´exploration comme SSS* mais plus compliqué.
Evidement on ne pas calculer tout les coups d´un jeux d´échecs, trop de possibilités et donc explosion combinatoire.
D´ailleurs, si c´était possible, il serait possible que le 1er joueur gagne toujours, perde toujours ou qu´il y ait toujours nulle.