public boolean inCheckmate() {
		GameObj[][] board = ChessBoard.BOARD;
		if(!inCheck()) {
			return false;
		}
		if(getPossibleMoves().size() != 0) {
			return false;
		}
		for(int i = 0; i < 8; i++) {
			for(int j = 0; j < 8; j++) {
				if(!board[i][j].isTile() && board[i][j].getColor().equals(this.c)) {
					ArrayList<Tuple<Integer, Integer>> objMoves = board[i][j].getPossibleMoves();
					for(int k = 0; k < objMoves.size(); k++) {
						int fst = objMoves.get(k).getFirst();
						int snd = objMoves.get(k).getSecond();
						GameObj orig = board[i][j];
						GameObj orig2 = board[fst][snd];
						board[fst][snd] = board[i][j];
						board[fst][snd].setX(fst);
						board[fst][snd].setY(snd);
						board[i][j] = new GameTile(i,j);
						if(!inCheck()) {
							board[i][j] = orig;
							board[i][j].setX(i);
							board[i][j].setY(j);
							board[fst][snd] = orig2;
							board[fst][snd].setX(fst);
							board[fst][snd].setY(snd);
							return false;
						} else {
							board[i][j] = orig;
							board[i][j].setX(i);
							board[i][j].setY(j);
							board[fst][snd] = orig2;
							board[fst][snd].setX(fst);
							board[fst][snd].setY(snd);
						}
					}
				}
			}
		}
		return true;
	}