示例#1
0
        //Kollar om draget är tillåtet enligt reglerna
        public bool isLeagalMove(Move move, ChessPiece[,] currentBoard)
        {
            ChessPiece current = currentBoard[move.getfromX(), move.getfromY()];

            if (current is Horse)
            {
                if (board.squareStatus(move, currentBoard) == 1)//En av spelarens egna pjäser står i vägen
                {
                    return false;
                }
                return true;
            }
               else if (current is Farmer)
            {
                if ((move.getfromX() != move.gettoX() && board.squareStatus(move, currentBoard) == 2) ||
                    (move.gettoX() == move.getfromX() && board.squareStatus(move, currentBoard) == 3))
                //bonden har tagit en enemy på sidan eller gått rak fram och inte träffat på ngn pjäs
                {
                    return true;
                }
                return false;
            }
            else
            {
                if (move.isHorizontal() == true)
                {
                    return checkHorizontal(move, currentBoard);
                }
                if (move.isVertical() == true)
                {
                    return checkVertical(move, currentBoard);
                }
                if (move.isDiagonal() == true)
                {
                    return checkDiagonal(move, currentBoard);
                }
                return false;
            }
        }