用于循环检查板对角右c++

for loop - check board diagonally right c++

本文关键字:c++ 循环 检查 用于      更新时间:2023-10-16

我正在做一个反向棋盘游戏。基本上你有玩家X和玩家O,当玩家X将玩家O的代币"困"在他的两个代币中间时,玩家O的代币就会被"翻转"而变成玩家X。

所以基本上我让其他检查半工作。但是我怎么也弄不对角线。

对于左对角线,我使用了两个变量的for循环,以便计数并使其工作

for(i=r-2, j=c-2;j>=0;i--,j--)

但是因为当我对角线向右检查时(假设我从左下角开始)。行在减少,而列在增加,并且AFAIK两个变量for循环不处理这个(?)。

谢谢!

这取决于您的坐标系统的方向,但如果有帮助,您可以执行以下操作:

for(i=r-2, j=c-2;j>=0;i++,j--)

也就是说,允许在同一个for语句中增加一个索引和减少另一个索引。

测试两个条件:

for(i=r-2, j=c-2;j>=0 && i<MAX;i++,j--)

从左下到右上对角线循环的例子。

for ( i = col, j = row; j >= 0 && i < SIZE; i++, j-- )