public override bool[,] movimentacao() { bool[,] matriz_movimentacao = new bool[tabuleiro.linhas, tabuleiro.colunas]; Posicao pos = new Posicao(0, 0); // posicao em cima e a esquerda pos.Posicao_2(posicao.linha - 1, pos.coluna - 1); while (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; if (tabuleiro.peca(pos) != null && tabuleiro.peca(pos).cor != this.cor) { break; } pos.linha = pos.linha - 1; pos.coluna = pos.coluna - 1; } // posicao em cima e a direita pos.Posicao_2(posicao.linha - 1, pos.coluna + 1); while (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; if (tabuleiro.peca(pos) != null && tabuleiro.peca(pos).cor != this.cor) { break; } pos.linha = pos.linha - 1; pos.coluna = pos.coluna + 1; } // posicao em baixo e a direita pos.Posicao_2(posicao.linha + 1, pos.coluna + 1); while (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; if (tabuleiro.peca(pos) != null && tabuleiro.peca(pos).cor != this.cor) { break; } pos.linha = pos.linha + 1; pos.coluna = pos.coluna + 1; } // posicao em baixo e a esquerda pos.Posicao_2(posicao.linha + 1, pos.coluna - 1); while (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; if (tabuleiro.peca(pos) != null && tabuleiro.peca(pos).cor != this.cor) { break; } pos.linha = pos.linha + 1; pos.coluna = pos.coluna - 1; } return(matriz_movimentacao); }
public override bool[,] movimentacao() { bool[,] matriz_movimentacao = new bool[tabuleiro.linhas, tabuleiro.colunas]; Posicao pos = new Posicao(0, 0); if (this.cor == "Branca") { pos.Posicao_2(posicao.linha - 1, posicao.coluna); if (tabuleiro.posicaoValida(pos) && posicaoLivre(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } pos.Posicao_2(posicao.linha - 2, posicao.coluna); if (tabuleiro.posicaoValida(pos) && posicaoLivre(pos) && movimento == 0) { matriz_movimentacao[pos.linha, pos.coluna] = true; } pos.Posicao_2(posicao.linha - 1, posicao.coluna - 1); if (tabuleiro.posicaoValida(pos) && posicaoInimigo(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } pos.Posicao_2(posicao.linha - 1, posicao.coluna + 1); if (tabuleiro.posicaoValida(pos) && posicaoInimigo(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } } else { pos.Posicao_2(posicao.linha + 1, posicao.coluna); if (tabuleiro.posicaoValida(pos) && posicaoLivre(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } pos.Posicao_2(posicao.linha + 2, posicao.coluna); if (tabuleiro.posicaoValida(pos) && posicaoLivre(pos) && movimento == 0) { matriz_movimentacao[pos.linha, pos.coluna] = true; } pos.Posicao_2(posicao.linha + 1, posicao.coluna - 1); if (tabuleiro.posicaoValida(pos) && posicaoInimigo(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } pos.Posicao_2(posicao.linha + 1, posicao.coluna + 1); if (tabuleiro.posicaoValida(pos) && posicaoInimigo(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } } return(matriz_movimentacao); }
public override bool[,] movimentacao() { bool[,] matriz_movimentacao = new bool[tabuleiro.linhas, tabuleiro.colunas]; Posicao pos = new Posicao(0, 0); // posicao em cima pos.Posicao_2(posicao.linha - 1, posicao.coluna); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao em cima e a esquerda pos.Posicao_2(posicao.linha - 1, posicao.coluna + 1); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao a direita pos.Posicao_2(posicao.linha, posicao.coluna + 1); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao em baixo e a direita pos.Posicao_2(posicao.linha + 1, posicao.coluna + 1); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao em baixo pos.Posicao_2(posicao.linha + 1, posicao.coluna); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao em baixo e a esquerda pos.Posicao_2(posicao.linha + 1, posicao.coluna - 1); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao a esquerda pos.Posicao_2(posicao.linha, posicao.coluna - 1); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } // posicao em cima a esquerda pos.Posicao_2(posicao.linha - 1, posicao.coluna - 1); if (tabuleiro.posicaoValida(pos) && movimentoAceito(pos)) { matriz_movimentacao[pos.linha, pos.coluna] = true; } return(matriz_movimentacao); }