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"); } } } } }
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; } } } } } }