Пример #1
0
 private void move(int Piece_Type)                                                      // cette fonction vérifie si le déplacement est valide en basant sur la position de départ et d'arrivée.
 {
     if (m.Return_information(_Mouse_Position_Depart.X, _Mouse_Position_Depart.Y) != 0) // Si la position de départ est un pièce
     {
         bool[,] Position_Possible = new bool[5, 5];
         Position_Possible         = m.Position_Mouvement(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y);
         if (Position_Possible[_Mouse_Position_Select.X, _Mouse_Position_Select.Y]) // Vérifier si la position d'arrivé est bien valide
         {
             if (_KingMoved == false)                                               // si on n'a pas bougé le roi, il faut bouger d'abord
             {
                 if (Piece_Type == 1)                                               // forcer de choisi le riu
                 {
                     m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                     _KingMoved = true;
                 }
                 if (_WhiteTurn)
                 {
                     ((CGraphique2)(this.Parent)).majlabel("White Turn: Move your King first");
                 }
                 if (!_WhiteTurn)
                 {
                     ((CGraphique2)(this.Parent)).majlabel("Black Turn: Move your King first");
                 }
             }
             if (_KingMoved == true && _WhiteTurn == true) // forcer de bouger le pions blanc
             {
                 if (Piece_Type == 3)
                 {
                     m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                     ((CGraphique2)(this.Parent)).majlabel("White Moved, Black Turn");
                     _WhiteTurn = false;
                     _KingMoved = false;
                 }
                 if (Piece_Type != 3)
                 {
                     ((CGraphique2)(this.Parent)).majlabel("White Turn: You move your White Pawn");
                 }
             }
             if (_KingMoved == true && _WhiteTurn == false) // forcer de bouger le pions noir
             {
                 if (Piece_Type == 2)
                 {
                     m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                     ((CGraphique2)(this.Parent)).majlabel("White Moved, Black Turn");
                     _WhiteTurn = true;
                     _KingMoved = false;
                 }
                 if (Piece_Type != 2)
                 {
                     ((CGraphique2)(this.Parent)).majlabel("Black Turn: You move your Black Pawn");
                 }
             }
         }
     }
 }
Пример #2
0
 private void Human_Move(int Piece_Type)
 {
     if (m.Return_information(_Mouse_Position_Depart.X, _Mouse_Position_Depart.Y) != 0)
     {
         bool[,] Position_Possible = new bool[5, 5];
         Position_Possible         = m.Position_Mouvement(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y);
         if (Position_Possible[_Mouse_Position_Select.X, _Mouse_Position_Select.Y])
         {
             if (!AI_White)
             {
                 if (_KingWhiteMoved == false && _WhiteTurn == true)
                 {
                     if (Piece_Type == 1)
                     {
                         m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                         _KingWhiteMoved = true;
                         _KingBlackMoved = false;
                     }
                 }
                 if (_KingWhiteMoved == true && _WhiteTurn == true)
                 {
                     if (Piece_Type == 3)
                     {
                         m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                         _WhiteTurn      = false;
                         _KingWhiteMoved = false;
                     }
                 }
             }
             else
             {
                 if (_KingBlackMoved == false && _WhiteTurn == false)
                 {
                     if (Piece_Type == 1)
                     {
                         m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                         _KingWhiteMoved = false;
                         _KingBlackMoved = true;
                     }
                 }
                 if (_KingBlackMoved == true && _WhiteTurn == false)
                 {
                     if (Piece_Type == 2)
                     {
                         m.Update_position(Piece_Type, _Mouse_Position_Depart.X, _Mouse_Position_Depart.Y, _Mouse_Position_Select.X, _Mouse_Position_Select.Y);
                         _WhiteTurn      = true;
                         _KingBlackMoved = false;
                     }
                 }
             }
         }
     }
 }