/// <summary> /// Retornar se alguem ganhou na vertical (Coluna). /// </summary> /// <returns>Retorna 0 para nenhum jogador ou o numero do jogador que ganhou, em caso de vitória.</returns> public int VerificaColuna() { for (int coluna = 0; coluna < TabuleiroJogo.GetLength(0); coluna++) { int contador = 1; for (int linha = TabuleiroJogo.GetLength(1) - 1; linha >= 1; linha--) { if (TabuleiroJogo[coluna, linha] == 0) { break; } if (TabuleiroJogo[coluna, linha] == TabuleiroJogo[coluna, linha - 1]) { if (++contador == 4) { return(TabuleiroJogo[coluna, linha]); } } else { contador = 1; } } } return(0); }
public static void ImprimirTabuleiro(TabuleiroJogo tab, bool[,] posicoesPossiveis) { ConsoleColor fundoOriginal = Console.BackgroundColor; ConsoleColor fundoAlterado = ConsoleColor.DarkGray; for (int l = 0; l < tab.Linhas; l++) { Console.Write(8 - l + "| "); for (int c = 0; c < tab.Colunas; c++) { if (posicoesPossiveis[l, c]) { Console.BackgroundColor = fundoAlterado; } else { Console.BackgroundColor = fundoOriginal; } ImprimirPeca(tab.peca(l, c)); Console.BackgroundColor = fundoOriginal; } Console.WriteLine(); } Console.WriteLine("-------------------\n A B C D E F G H"); Console.BackgroundColor = fundoOriginal; }
public void TesteDeVencedores() { TabuleiroJogo tabuleiro = new TabuleiroJogo(); int jogador = tabuleiro.JogadorAtual; tabuleiro.Jogar(tabuleiro.JogadorAtual, 0, 0); Assert.AreEqual(tabuleiro.Tabuleiro[0][0], jogador); try { tabuleiro.Jogar(tabuleiro.JogadorAtual, 0, 0); } catch { //Exceção esperada. } Assert.AreEqual(tabuleiro.Tabuleiro[0][0], jogador); tabuleiro = new TabuleiroJogo(new int [][] { new int[] { 1, 1, 1 }, new int[] { 0, 0, 0 }, new int[] { 0, 0, 0 } }); Assert.AreEqual(tabuleiro.VerificarGanhador(), 1); tabuleiro = new TabuleiroJogo(new int[][] { new int[] { 0, 1, 1 }, new int[] { 0, 0, 0 }, new int[] { 2, 2, 2 } }); Assert.AreEqual(2, tabuleiro.VerificarGanhador()); tabuleiro = new TabuleiroJogo(new int[][] { new int[] { 0, 2, 1 }, new int[] { 0, 2, 0 }, new int[] { 1, 2, 2 } }); Assert.AreEqual(2, tabuleiro.VerificarGanhador()); tabuleiro = new TabuleiroJogo(new int[][] { new int[] { 1, 2, 1 }, new int[] { 0, 1, 0 }, new int[] { 2, 2, 1 } }); Assert.AreEqual(1, tabuleiro.VerificarGanhador()); tabuleiro = new TabuleiroJogo(new int[][] { new int[] { 2, 2, 1 }, new int[] { 0, 1, 0 }, new int[] { 1, 2, 1 } }); Assert.AreEqual(1, tabuleiro.VerificarGanhador()); }
public Partida() { tab = new TabuleiroJogo(8, 8); Turno = 1; JogadorAtual = Cor.Branca; Terminada = false; Xeque = false; vulneravelEnPassant = null; pecas = new HashSet <Peca>(); capturadas = new HashSet <Peca>(); SobeJogo(); }
public static void ImprimirTabuleiro(TabuleiroJogo tab) { for (int l = 0; l < tab.Linhas; l++) { Console.Write(8 - l + "| "); for (int c = 0; c < tab.Colunas; c++) { ImprimirPeca(tab.peca(l, c)); } Console.WriteLine(); } Console.WriteLine("-------------------\n A B C D E F G H"); }
/// <summary> /// Retornar se alguem ganhou na Diagonal. /// </summary> /// <returns>Retorna 0 para nenhum jogador ou o numero do jogador que ganhou, em caso de vitória.</returns> public int VerificarDiagonal() { for (int linha = TabuleiroJogo.GetLength(1) - 1; linha >= 3; linha--) { for (int coluna = 0; coluna < TabuleiroJogo.GetLength(0); coluna++) { if (TabuleiroJogo[coluna, linha] == 0) { continue; } if (coluna + 1 - 4 >= 0) { int i; for (i = 1; i < 4; i++) { if (TabuleiroJogo[coluna, linha] != TabuleiroJogo[coluna - i, linha - i]) { break; } } if (i == 4) { return(TabuleiroJogo[coluna, linha]); } } if (coluna - 1 + 4 < this.TabuleiroJogo.GetLength(0)) { int i; for (i = 1; i < 4; i++) { if (TabuleiroJogo[coluna, linha] != TabuleiroJogo[coluna + i, linha - i]) { break; } } if (i == 4) { return(TabuleiroJogo[coluna, linha]); } } } } return(0); }
public void TestarMudarJogador() { TabuleiroJogo tabuleiro = new TabuleiroJogo(); int jogador = tabuleiro.JogadorAtual; tabuleiro.Jogar(tabuleiro.JogadorAtual, 0, 0); //Verifica se a mudança de turno está ocorrendo normalmente. if (jogador == 1) { Assert.AreEqual(2, tabuleiro.JogadorAtual); } else if (jogador == 2) { Assert.AreEqual(1, tabuleiro.JogadorAtual); } }
private void ReiniciarJogo() { this.Tabuleiro = new TabuleiroJogo(); }
public Peao(TabuleiroJogo tab, Cor cor, Partida partida) : base(tab, cor) { this.partida = partida; }
public Bispo(TabuleiroJogo tab, Cor cor) : base(tab, cor) { }
public Cavalo(TabuleiroJogo tab, Cor cor) : base(tab, cor) { }
public String Reiniciar() { Jogo = new TabuleiroJogo(); return("Jogo Reiniciado"); }
public Rainha(TabuleiroJogo tab, Cor cor) : base(tab, cor) { }
public Torre(TabuleiroJogo tab, Cor cor) : base(tab, cor) { }