Lógica para Diagonal

Eu estou brincando com a criação de um tabuleiro 8 x 8, para cima e para baixo, é muito intuitivo, mas para diagonal ainda não consegui pensar em nada.

Quero fazer com que minhas peças enxerguem as outras em diagonal, semelhante a foto (mas para fins práticos, considere que estamos trabalhando com vetor bidimensional), alguém consegue me ajudar?

Depende do que você quer dizer com “enxergar”, e de como está representa. Se seu vetor bidimensional (pode chamar de matriz) está representando com zeros e uns e outros números, é só uma questão de pegar a diagonal e percorrê-la incrementando (ou decrementando) os índices vertical e horizontal ao mesmo tempo (e não um de cada vez, como você faria para horizontal e vertical).

Se não ficou claro, mostre seu código de busca de peças para sugerirmos em cima dele.

Abraço.

Quando não se sabe ou não se lembra a lógica, um bom exercício inicial é colocar no papel quais são as posições diagonais dado que a peça está na linha 4, coluna 3 (levando em conta que ambos índices começam com 0

// (linha, coluna)

posição: (4, 3)
superior esquerda: (3, 2), (2, 1), (1, 0)
superior direita: (3, 4), (2, 5), (1, 6), (0, 7)
inferior esquerda: (5, 2), (6, 1), (7, 0)
inferior direita: (5, 4), (6, 5), (7, 6)

Consegue notar alguns padrões?