public bool Jogar(int posicao, out ValidacaoDaJogada validacao) { bool retorno = false; validacao = ValidacaoDaJogada.JogadaValida; if (Status == Dominio.Status.Acabado) { validacao = ValidacaoDaJogada.JogoAcabado; retorno = false; } else if (Casas[posicao] != Marca.Vazio) { validacao = ValidacaoDaJogada.PosicaoJaMarcada; retorno = false; } else { retorno = true; validacao = ValidacaoDaJogada.JogadaValida; Casas[posicao].Marca = MarcaDaRodada; if (Status == Dominio.Status.Rodando) { PassarRodada(); JogadorDaRodada.Jogar(this); } else { Jogador1.ObservarFimDaJogada(this); Jogador2.ObservarFimDaJogada(this); AtualizarPlacar(); } } return(retorno); }
private string OberTextoDeValidacao(ValidacaoDaJogada validacao) { string texto = ""; switch (validacao) { case ValidacaoDaJogada.JogadaValida: texto = ""; break; case ValidacaoDaJogada.PosicaoJaMarcada: texto = "Esta posição no tabuleiro já foi marcada. Marque outra por favor."; break; case ValidacaoDaJogada.JogoAcabado: texto = "Fim de Jogo."; break; default: texto = "Ops! Validacao não tratada."; break; } return(texto); }
public bool Jogar(int linha, int coluna, out ValidacaoDaJogada validacao) { int posicaoUnidimensional = ((linha - 1) * Escala) + coluna; return(Jogar(posicaoUnidimensional, out validacao)); }