Ejemplo n.º 1
0
        private void UcChessPiece_MouseDown(object sender, MouseEventArgs e)
        {
            if (UcChessBoard.IsCapturedMode)
            {
                return;
            }
            LastMousePos = MousePosition;

            UcChessBoard Board = (UcChessBoard)this.Parent;//Lấy bàn cờ

            Board.arrMove = new ArrayList();
            //Hiển thị các nước có thể đi
            if ((Board.OwnSide == this.Side || Board.GameMode == GameMode.VsHuman) && Board.GameStatus == GameStatus.NowPlaying)
            {
                if ((Board.WhiteToMove == true && this._Side == ChessSide.White) || (Board.WhiteToMove == false && this._Side == ChessSide.Black))
                {
                    int[,] BoardState = Board._BoardState;//Lấy trạng thái bàn cờ
                    Point CurPos = new Point(this._PositionX, this._PositionY);
                    Board.arrMove = clsChessEngine.FindAllLegalMove(BoardState, CurPos, this._Type);

                    Board.HighlightPossibleMoves();
                }
            }
        }