public int GetPieceWeight(PieceAI.pieceType type) { switch (type) { case PieceAI.pieceType.PAWN: return(1); case PieceAI.pieceType.ROOK: return(5); case PieceAI.pieceType.KNIGHT: return(3); case PieceAI.pieceType.BISHOP: return(3); case PieceAI.pieceType.QUEEN: return(9); case PieceAI.pieceType.KING: return(1000000); default: return(-1); } }
public List <Move> GetMoves(PieceAI piece, Vector2 position) { _piece = piece; _type = piece.Type; _player = piece.Player; _position = position; foreach (KeyValuePair <PieceAI.pieceType, System.Action> p in pieceToFunction) { if (_type == p.Key) { p.Value.Invoke(); } } return(moves); }
public int GetBoardWeight(PieceAI.pieceType type, Vector2 position, PieceAI.playerColor color) { switch (type) { case PieceAI.pieceType.PAWN: if (color == PieceAI.playerColor.WHITE) { return(PawnBoardWeight[(int)position.x, (int)position.y]); } else { return(PawnMirrorBoardWeight[(int)position.x, (int)position.y]); } case PieceAI.pieceType.ROOK: if (color == PieceAI.playerColor.WHITE) { return(RookBoardWeight[(int)position.x, (int)position.y]); } else { return(RookMirrorBoardWeight[(int)position.x, (int)position.y]); } case PieceAI.pieceType.KNIGHT: if (color == PieceAI.playerColor.WHITE) { return(KnightBoardWeight[(int)position.x, (int)position.y]); } else { return(KnightMirrorBoardWeight[(int)position.x, (int)position.y]); } case PieceAI.pieceType.BISHOP: if (color == PieceAI.playerColor.WHITE) { return(BishopBoardWeight[(int)position.x, (int)position.y]); } else { return(BishopMirrowBoardWeight[(int)position.x, (int)position.y]); } case PieceAI.pieceType.QUEEN: if (color == PieceAI.playerColor.WHITE) { return(QueenBoardWeight[(int)position.x, (int)position.y]); } else { return(QueenMirrorBoardWeight[(int)position.x, (int)position.y]); } case PieceAI.pieceType.KING: if (color == PieceAI.playerColor.WHITE) { return(KingBoardWeight[(int)position.x, (int)position.y]); } else { return(KingMirrorBoardWeight[(int)position.x, (int)position.y]); } default: return(-1); } }