Ejemplo n.º 1
0
        public void Jogar(Jogador jogador, int jogada)
        {
            if (!EhTurnoDoJogador(jogador))
                throw new Exception("Não é o turno do jogador");

            if (!JogadaDisponivel(jogada))
                throw new Exception("Jogada não disponivel");

            Jogadas.Add(jogada, jogador);

            if (PadraoVitoria != null)
            {
                if (jogador == Jogador1)
                    Estado = EstadoJogo.FinalizadoVitoriaJogador1;
                else if (jogador == Jogador2)
                    Estado = EstadoJogo.FinalizadoVitoriaJogador2;
            }
            else if (Jogadas.Count == MAXIMO_JOGADAS)
            {
                Estado = EstadoJogo.FinalizadoEmpate;
            }
            else
                FinalizarTurno();
        }
Ejemplo n.º 2
0
        public Jogador BuscaOponente(Jogador jogador)
        {
            if (Jogador1 == jogador)
                return Jogador2;
            if (Jogador2 == jogador)
                return Jogador1;

            throw new Exception("Jogador não faz parte do jogo");
        }
Ejemplo n.º 3
0
 public bool EhTurnoDoJogador(Jogador jogador)
 {
     if (Estado == EstadoJogo.TurnoJogador1 && Jogador1 == jogador)
         return true;
     if (Estado == EstadoJogo.TurnoJogador2 && Jogador2 == jogador)
         return true;
     return false;
 }