void isCheck() { PieceIdentity KingPiece = BoardPieces[PieceIdentity.getKing(BoardPieces)[0, 0], PieceIdentity.getKing(BoardPieces)[1, 0]]; if (KingPiece.isTileUnderDanger(BoardPieces, PieceIdentity.getKing(BoardPieces)[0, 0], PieceIdentity.getKing(BoardPieces)[1, 0], isWhiteTurn)) { string player = (isWhiteTurn) ? "White" : "Black"; string opponent = (!isWhiteTurn) ? "White" : "Black"; checkBy.text = "You are under Check by " + opponent + " Team."; } else { checkBy.text = ""; } }
void isCmOrSm() { bool noMoves = true; for (int i = 0; i < 8; i++)//checkMate or staleMate { for (int j = 0; j < 8; j++) { if (BoardPieces[i, j] == null) { continue; } if (BoardPieces[i, j].isWhitePiece != isWhiteTurn) { continue; } int[,] moves = BoardPieces[i, j].getCheckArray(BoardPieces[i, j].isAllowed(BoardPieces, true));//check moves if (BoardPieces[i, j].movePossible(moves)) { Debug.Log("noMoves false for ==" + i + "," + j); noMoves = false; break; } } if (!noMoves) { break; } } PieceIdentity KingPiece = BoardPieces[PieceIdentity.getKing(BoardPieces)[0, 0], PieceIdentity.getKing(BoardPieces)[1, 0]]; Debug.Log("noMoves==" + noMoves); if (noMoves) { if (KingPiece.isTileUnderDanger(BoardPieces, KingPiece.currX, KingPiece.currY, isWhiteTurn))//checkmate { win = (isWhiteTurn) ? -1 : 1; } else//stalemate { win = 2; } } }
void selectPiece() { Debug.Log("outside2=" + BoardPieces[mouseOverX, mouseOverY]); PieceIdentity KingPiece = BoardPieces[PieceIdentity.getKing(BoardPieces)[0, 0], PieceIdentity.getKing(BoardPieces)[1, 0]]; Debug.Log("outside3=" + BoardPieces[mouseOverX, mouseOverY]); if (BoardPieces[mouseOverX, mouseOverY] != null) { if (isWhiteTurn == BoardPieces[mouseOverX, mouseOverY].isWhitePiece) { int[,] moves = BoardPieces[mouseOverX, mouseOverY].isAllowed(BoardPieces, true); moves = BoardPieces[mouseOverX, mouseOverY].getCheckArray(moves); if (BoardPieces[mouseOverX, mouseOverY].movePossible(moves)) { validMoves = moves; BoardSelection.BoardSelectionObject.createColorSelection(validMoves, mouseOverX, mouseOverY); currentPiece = BoardPieces[mouseOverX, mouseOverY]; } } } }