Bonjour à tous,

je suis en train de réaliser un projet en vb.net sur un jeu d'échec, j'ai crée tout l'interface graphique, mais le plus dur reste à faire, il s'agit du mouvement des pièces. Je viens de m'attaquer aux pions, si possible quelqu'un peut-il m'aider?
Je vous joins mon extrait de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 
Public Class clsPion
    Public piece As clsPiece
    Public Function CheckMouvement(ByVal nNewLigne As Integer, ByVal nNewColonne As Integer, ByRef caseTo As clsCase) As Boolean
        Dim bRetour As Boolean = False
        '------------------------------
        ' <a href="http://www.chessvariants.com/d.chess/echec.html" target="_blank">http://www.chessvariants.com/d.chess/echec.html</a>
        'Les Pions se déplacent différemment selon qu'ils vont sur une case libre ou qu'ils se déplacent pour prendre une pièce adverse. 
        'Quand un Pion ne prend pas de pièce adverse, il avance d'une case verticalement (il ne peut reculer). 
        'Toutefois, si un Pion n'a pas encore bougé depuis le début de la partie (autrement dit, s'il est toujours sur sa ligne de départ), le Pion est autorisé à avancer 
        'verticalement de deux cases d'un coup. Par exemple, un Pion blanc en d2 peut au choix aller en d3 ou en d4.
        'Quand il prend une pièce adverse, le Pion se déplace en avançant en diagonale d'une case (il ne peut prendre en reculant). Par exemple un Pion blanc en d2 peut 
        'prendre un Cavalier noir se trouvant en e3.
        '------------------------------
 
 
        '---  si case destination occupée alors refus (pour exemple...)
        If Not caseTo.objPiece Is Nothing Then
            bRetour = False
            Exit Function
        End If
 
        '--- si abs dep sup a 1 refus
        If Math.Abs(piece.nLigne - nNewLigne) <= 1 And Math.Abs(piece.nColonne - nNewColonne) <= 1 Then
            bRetour = True
        Else
            bRetour = False
        End If
 
        Return bRetour
 
    End Function
Si vous pouviez m'aider pas à pas, ce serait super. Pour le moment je n'ai fixé que les mouvements du pion à un déplacement que d'une case.

Merci d'avance.