Я пытаюсь создать функцию, которая перебирает диагональ в шахматоподобной игре и возвращает значение, если какая-либо из позиций не пуста.Код ниже предназначен для горизонтальных перемещений.Я просто не знаю, как перевести это для диагональных движений.
Я полагаю, что приращения для [r] и [c] должны происходить одновременно, чтобы они двигались по диагонали.Как я могу это сделать?
int checkHorizontal(int fromr, int fromc, int toc){
if (fromc < toc){
for(int c = fromc + 1; c < toc; c++){
if ((tablero[fromr][c]) != &empty){
return 0;
}
}
}
else if (fromc > toc){
for(int c = toc + 1; c < fromc; c++){
if ((tablero[fromr][c]) != &empty){
return 0;
}
}
}
return 1;
}
Я ожидаю, что функция вернет 0, если один из пробелов не пуст, и 1, если все они были пустыми.