检查板对角线右边c ++

时间:2014-03-09 23:51:24

标签: c++ for-loop

我正在做一个逆转棋盘游戏。基本上你有玩家X和玩家O,当玩家X'在他的两个令牌中间捕获'玩家O标记时,玩家O标记被'翻转'并且变成玩家X.

所以基本上我得到了其他检查半工作。但是对于我的生活,我无法正确对齐。

因此,对于左对角线,我使用了两个变量for循环来计算并使其工作。

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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--)

答案 1 :(得分:0)

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

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