Accès au nouveau site !!! ICI



   

   

Appel à contributions



  Accueil | Téléchargement | Parties | Ecoles | Forum | News | Contactez l'auteur !  

Accès au nouveau site de TchecMeet...

Accueil

SITE support!

Le concept
Téléchargement
Archives
Foire aux questions
Technologie XML
Documentation

Etudes & Recherches
Sources


Jouer en direct !

Base de parties
Afficheur de parties
Problèmes & Solutions

Les liens

Ancien forum
Toutes les NEWS

Autres logiciels...

Contactez
nous









Le site perso de l'auteur de TchecMeet!



Fonction d'évaluation

Explication du module :

'Projet TchecMeet
'Auteur : olivier de LANNOY
'Création : 15 février 2002
'version xx

Global Const RIEN = 1
Global Const BLANC = 2
Global Const NOIR = 3

'...suite non décrite ici !

Tcm.bas - Espace de déclaration des constantes globales utilisées.

Un certain nombre de constantes doivent être déclarées dans le module principal.

Dans notre exemple, les trois variables permettent de préciser la couleur ou le remplissage ou non d'une case de l'échiquier.

La fonction evaluation_position décrite ci-dessous dans sa forme simple, est très importante dans un programme de jeu d'échecs car elle permet d'évaluer une position et de renvoyer une note au superviseur pour qu'il prenne une décision. Le superviseur étant ici une autre procédure ayant la vision sur les autres coups possibles et donc les autres positions possibles des pièces sur l'échiquier. Le paramètre couleur est passé à la fonction. Il correspond à la couleur pour qui l'évaluation est demandée.

Pour faire cette évaluation, chaque pièce possède :

  • une valeur matérielle spécifique (PION, FOU, CAVALIER...) (cf. tchecmeet.ini)
  • une note de mobilité (1 case possible en déplacement = 1 point)
  • une note de mobilité évolutive (note qui varie en fonction du jeu)
  • etc...

Toutes les notes peuvent éventuellement être pondérées par un coefficient "modérateur" entré soit par l'utilisateur au niveau des paramètres généraux (c'est le cas dans TchecMeet) ou au cours du jeu (c'est aussi le cas dans TchecMeet) en fonction de la stratégie utilisée.

Les pièces sont placées sur un échiquier modélisé par un tableau à deux dimensions ech(8,8). Ce tableau est déclaré en variable globale.

La fonction lacouleur(ech(i, j)) renvoie la valeur BLANC ou NOIR en fonction du contenu de la case.

La fonction nom_piece(ech(i,j)) renvoie le code de la pièce trouvée dans la case (cf. autre package qui décrit ces constantes)

La fonction evaluation_mobilité (non décrite ici) évalue les possibilités de déplacements de la pièce dont la valeur est stockée dans la case ech(i,j)

'fonction d'évaluation générale d'une situation sur un échiquier
Public Function evaluation_position(couleur As Integer) As Single
Dim I As Integer
Dim j As Integer

Dim PB As Single
Dim PN As Single
Dim MB As Single
Dim MN As Single

PB = 0 'valeur matérielle des pièces blanches
PN = 0 'valeur matérielle des pièces noires
MB = 0 'valeur mobilité blanc
MN = 0 'valeur mobilité noir

'balayage pour connaître les points de chaque case 8x8
For I = 1 To 8
     For j = 1 To 8

     'ya quelque chose ?
     If ech(i, j) <> RIEN Then

          If lacouleur(ech(i, j)) = BLANC Then
               'pour les pièces blanches
                PB = PB + note_materiel(nom_piece(ech(i,j)))
               MB = MB + evaluation_mobilite(i, j)
          ElseIf lacouleur(ech(i, j)) = NOIR Then
               'pour les pièces NOIRS
               PN = PN + note_materiel(nom_piece(ech(i,j)))
               MN = MN + evaluation_mobilite(i, j)
          End If

     End If

     Next
Next
'en fonction de la couleur du demandeur, affecter les résultats
If couleur = BLANC Then
     evaluation_position = (PB + MB) - (PN + MN)
Else
     evaluation_position = (PN + MN) - (PB + MB)
End If

End Function

 

La note est renvoyée à la procédure appelante qui va pouvoir faire son tri...

Dernière mise à jour
le 22-Feb-2006
Compatible ie4+, Netsc4+

Réalisation/Auteur :
Olivier de LANNOY
copyright © 2001-2005
[ Règles des échecs | Histoire des échecs | La F.F.E. | Recherche avec Google ]