예제 #1
0
 public int VerificarVencedorLinha()
 {
     for (int linha = 0; linha < RepresentacaoTabuleiro.GetLength(1); linha++)
     {
         int contador = 1;
         for (int coluna = 1; coluna <
              RepresentacaoTabuleiro.GetLength(0);
              coluna++)
         {
             if (RepresentacaoTabuleiro[coluna - 1, linha] == 0)
             {
                 break;
             }
             if (RepresentacaoTabuleiro[coluna, linha]
                 == RepresentacaoTabuleiro[coluna - 1, linha])
             {
                 if (++contador == 4)
                 {
                     return(RepresentacaoTabuleiro[coluna, linha]);
                 }
             }
             else
             {
                 contador = 1;
             }
         }
     }
     return(0);
 }
예제 #2
0
        public void Jogar(int Jogador, int Posicao)
        {
            if (Jogador != this.Turno)
            {
                throw new ArgumentException($"Não é a vez do jogador {Jogador}");
            }
            if (Posicao < 0)
            {
                throw new ArgumentException("A posição não pode " +
                                            "ser menor que 0.");
            }
            else if (Posicao > NUMERO_COLUNAS - 1)
            {
                throw new ArgumentException
                          ("A posição não pode ser " +
                          $"maior que {NUMERO_COLUNAS}.");
            }
            int linha = 0;

            do
            {
                if (RepresentacaoTabuleiro[Posicao, linha] == 0)
                {
                    RepresentacaoTabuleiro[Posicao, linha]
                        = Jogador;
                    AlternaTurno();
                    return;
                }
            } while (++linha < RepresentacaoTabuleiro.GetLength(1));
            throw new ArgumentException(
                      $"A coluna {Posicao} está lotada.");
        }
예제 #3
0
 /// <summary>
 /// </summary>
 /// <returns></returns>
 public Boolean isTudoOcupado()
 {
     for (int i = 0; i < RepresentacaoTabuleiro.GetLength(0); i++)
     {
         if (RepresentacaoTabuleiro[i, RepresentacaoTabuleiro.GetLength(1) - 1] == 0)
         {
             return(false);
         }
     }
     return(true);
 }
예제 #4
0
 public int VerificarVencedorDiagonal()
 {
     for (int coluna = 0; coluna < RepresentacaoTabuleiro.GetLength(0); coluna++)
     {
         for (int linha = 0; linha < RepresentacaoTabuleiro.GetLength(1); linha++)
         {
             int resultado = VerificarDiagonal(coluna, linha);
             if (resultado != 0)
             {
                 return(resultado);
             }
         }
     }
     return(0);
 }
예제 #5
0
        public int atualTurno()
        {
            int contador = 1;

            for (int coluna = 0; coluna < RepresentacaoTabuleiro.GetLength(0); coluna++)
            {
                for (int linha = 1; linha < RepresentacaoTabuleiro.GetLength(1); linha++)
                {
                    if (RepresentacaoTabuleiro[coluna, linha] != 0)
                    {
                        contador = contador + 1;
                    }
                }
            }
            return(contador);
        }