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); }
static void Main(string[] args) { Jogador1 jogador1 = new Jogador1("CR7"); Jogador2 jogador2 = new Jogador2(); jogador2.nome = "Messi"; Jogo jogo = new Jogo(jogador1, jogador2); jogo.iniciarJogo(); }
static void Main(string[] args) { Jogador1 j1 = new Jogador1(); Jogador2 j2 = new Jogador2(); Jogo oJogo = new Jogo(j1, j2); // var oJogo = new Jogo(new Jogador1(), new Jogador2()); oJogo.JogoSinistro(); }
public void Reiniciar() { if (Status == Status.Acabado) { TrocarJogadorQueInicia(); } ZerarCasas(); Jogador1.ObservarReinicioDeJogo(this); Jogador2.ObservarReinicioDeJogo(this); JogadorDaRodada.Jogar(this); }