public boolean tratarJogada() {
        // Se não houver partida em andamento, informa que a partida já foi encerrada
        if (!partidaEmAndamento) {
            atorJogador.informaPartidaJahEncerrada();
            return false;
        }
        
        boolean movimentoValido = true;
        
        // Verificar se é apenas 1 casa de distancia
        if (this.tabuleiro.calculaDistancia(this.posicaoInicial, this.posicaoFinal) != 1){
            movimentoValido = false;
            this.atorJogador.informaDistanciaInadequada();
        }
        
        // Verifica se o robo possui pontos de movimento
        if (this.tabuleiro.getRobo(this.posicaoInicial).getMovimento() == 0){
            movimentoValido = false;
            this.atorJogador.informaFaltaPontosMovimento();
        }
        
        // Verificar se a posicao está vazia
        if (this.tabuleiro.verificaPosicaoOcupada(this.posicaoFinal)){
            
            // Se não está vazia, verificar se o robo é do jogador atual
            if (tabuleiro.getRobo(this.posicaoFinal).getJogador() == this.jogadorAtual){
                movimentoValido = false;
                this.atorJogador.informaPosicaoOcupada();
            }
            else{
                
                Robo roboFinal = this.tabuleiro.getRobo(this.posicaoFinal);
                
                // Se for do jogador adversário, verificar o robo está de costas para ser capturada
                if (this.tabuleiro.getPosicao(this.posicaoInicial) == roboFinal.getPosicaoCostas()){
                    Jogador adversario = this.tabuleiro.getRobo(this.posicaoFinal).getJogador();
                    
                    // Remove o robo do jogador e do tabuleiro
                    adversario.removerPeca(roboFinal);
                    this.tabuleiro.removeRobo(this.posicaoFinal);
                }
                else{
                    movimentoValido = false;
                    this.atorJogador.informaPosicaoOcupada();
                }
            }
        }
        
        return movimentoValido;
    }