Beispiel #1
0
    public int GetPieceWeight(BasePiece.pieceType type)
    {
        switch (type)
        {
        case BasePiece.pieceType.PAWN:
            return(10);

        case BasePiece.pieceType.ROOK:
            return(50);

        case BasePiece.pieceType.KNIGHT:
            return(30);

        case BasePiece.pieceType.BISHOP:
            return(30);

        case BasePiece.pieceType.QUEEN:
            return(900);

        case BasePiece.pieceType.KING:
            return(1000000);

        default:
            return(-1);
        }
    }
Beispiel #2
0
    public int GetBoardWeight(BasePiece.pieceType type, Cell position, Color color)
    {
        switch (type)
        {
        case BasePiece.pieceType.PAWN:
            if (color == Color.white)
            {
                return(PawnBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }
            else
            {
                return(PawnMirrorBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }

        case BasePiece.pieceType.ROOK:
            if (color == Color.white)
            {
                return(RookBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }
            else
            {
                return(RookMirrorBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }

        case BasePiece.pieceType.KNIGHT:
            if (color == Color.white)
            {
                return(KnightBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }
            else
            {
                return(KnightMirrorBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }

        case BasePiece.pieceType.BISHOP:
            if (color == Color.white)
            {
                return(BishopBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }
            else
            {
                return(BishopMirrowBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }

        case BasePiece.pieceType.QUEEN:
            if (color == Color.white)
            {
                return(QueenBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }
            else
            {
                return(QueenMirrorBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }

        case BasePiece.pieceType.KING:
            if (color == Color.white)
            {
                return(KingBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }
            else
            {
                return(KingMirrorBoardWeight[(int)position.mBoardPosition.x, (int)position.mBoardPosition.y]);
            }

        default:
            return(-1);
        }
    }