private List<Posicao> posicoesPossiveisRei(Posicao posicao) {

        List<Posicao> posicoesPossiveis = new ArrayList<>();
        Peca peca;
        int coluna;
        int linha;

        for (int varianteColuna = -1; varianteColuna < 2; varianteColuna++) {
            for (int varianteLinha = -1; varianteLinha < 2; varianteLinha++) {
                coluna = posicao.getColuna();
                linha = posicao.getLinha();
                coluna += varianteColuna;
                linha += varianteLinha;
                if (coluna >= 0 && coluna <= 7) {
                    if (linha >= 0 && linha <= 7) {
                        peca = this.getCasas(coluna, linha);
                        /* verifica se tem alguma coisa na posicao */
                        if (peca != null) {
                            /* se tiver e a cor for branca, pode capturar */
                            if (!peca.getCor().equals(this.getCasas(posicao).getCor())) {
                                posicoesPossiveis
                                        .add(new Posicao(coluna, linha));
                            }
                        } else /* pode se mover para a posicao */ {
                            posicoesPossiveis.add(new Posicao(coluna, linha));
                        }
                    }
                }
            }
        }

        return posicoesPossiveis;
    }