public int GetPieceWeight(Piece.pieceType type) { switch (type) { case Piece.pieceType.PAWN: return(1); case Piece.pieceType.ROOK: return(5); case Piece.pieceType.KNIGHT: return(3); case Piece.pieceType.BISHOP: return(3); case Piece.pieceType.QUEEN: return(9); case Piece.pieceType.KING: return(1000000); default: return(-1); } }
public List <Move> GetMoves(Piece piece, Vector2 position) { _piece = piece; _type = piece.Type; _player = piece.Player; _position = position; foreach (KeyValuePair <Piece.pieceType, System.Action> p in pieceToFunction) { if (_type == p.Key) { p.Value.Invoke(); } } return(moves); }
public bool CheckKing() { kingAttack = false; for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { tempVector = new Vector2(i, j); if (Board.Instance.GetTileFromBoard(tempVector).CurrentPiece != null) { Piece p = Board.Instance.GetTileFromBoard(tempVector).CurrentPiece; Piece.pieceType type = Board.Instance.GetTileFromBoard(tempVector).CurrentPiece.Type; Piece.playerColor color = Board.Instance.GetTileFromBoard(tempVector).CurrentPiece.Player; switch (type) { case Piece.pieceType.PAWN: PawnMove(color, tempVector, p); break; case Piece.pieceType.ROOK: RookMove(color, tempVector, p); break; case Piece.pieceType.BISHOP: BishopMove(color, tempVector, p); break; case Piece.pieceType.KNIGHT: KnightMove(color, tempVector, p); break; case Piece.pieceType.QUEEN: QueenMove(color, tempVector, p); break; case Piece.pieceType.KING: KingMove(color, tempVector, p); break; } } } } return(kingAttack); }
public int GetPieceWeight(Piece.pieceType type) { switch (type) { case Piece.pieceType.O: return(1); case Piece.pieceType.X: return(3); case Piece.pieceType.WFLAG: return(10000); case Piece.pieceType.BFLAG: return(10000); default: return(-1); } }
public int GetBoardWeight(Piece.pieceType type, Vector2 position, Piece.pieceWork color) { switch (type) { case Piece.pieceType.O: if (color == Piece.pieceWork.WWORK) { return(OBoardWeight [(int)position.x, (int)position.y]); } else if (color == Piece.pieceWork.BWORK) { return(OMirrorBoardWeight [(int)position.x, (int)position.y]); } else { return(-1); } case Piece.pieceType.X: if (color == Piece.pieceWork.WWORK) { return(XBoardWeight [(int)position.x, (int)position.y]); } else if (color == Piece.pieceWork.BWORK) { return(XMirrorBoardWeight [(int)position.x, (int)position.y]); } else { return(-1); } default: return(-1); } }
public int GetBoardWeight(Piece.pieceType type, Vector2 position, Piece.playerColor color) { switch (type) { case Piece.pieceType.PAWN: if (color == Piece.playerColor.WHITE) { return(PawnBoardWeight[(int)position.x, (int)position.y]); } else { return(PawnMirrorBoardWeight[(int)position.x, (int)position.y]); } case Piece.pieceType.ROOK: if (color == Piece.playerColor.WHITE) { return(RookBoardWeight[(int)position.x, (int)position.y]); } else { return(RookMirrorBoardWeight[(int)position.x, (int)position.y]); } case Piece.pieceType.KNIGHT: if (color == Piece.playerColor.WHITE) { return(KnightBoardWeight[(int)position.x, (int)position.y]); } else { return(KnightMirrorBoardWeight[(int)position.x, (int)position.y]); } case Piece.pieceType.BISHOP: if (color == Piece.playerColor.WHITE) { return(BishopBoardWeight[(int)position.x, (int)position.y]); } else { return(BishopMirrowBoardWeight[(int)position.x, (int)position.y]); } case Piece.pieceType.QUEEN: if (color == Piece.playerColor.WHITE) { return(QueenBoardWeight[(int)position.x, (int)position.y]); } else { return(QueenMirrorBoardWeight[(int)position.x, (int)position.y]); } case Piece.pieceType.KING: if (color == Piece.playerColor.WHITE) { return(KingBoardWeight[(int)position.x, (int)position.y]); } else { return(KingMirrorBoardWeight[(int)position.x, (int)position.y]); } default: return(-1); } }