public class JogoGalo { private ResultadoJogo _estado; // ... public boolean joga(Peca peca, int linha, int coluna) { if (_estado != ResultadoJogo.NAO_FINALIZADO) return false; if (linha >= 1 && linha <= _tabuleiro.length && coluna >= 1 && coluna <= _tabuleiro[0].length && _tabuleiro[linha - 1][coluna - 1].estaLivre()) { _tabuleiro[linha - 1][coluna - 1] = peca; if (ganhou(linha, coluna)) _estado = (peca.devolveJogador().equals("Jogador 1")) ? ResultadoJogo.JOGADOR_1 : ResultadoJogo.JOGADOR_2; else if (!temJogadasDisponiveis()) _estado = ResultadoJogo.EMPATE; return true; } return false; } public ResultadoJogo obtemResultado() { return _estado; } }