我正在做一个逆转棋盘游戏。基本上你有玩家X和玩家O,当玩家X'在他的两个令牌中间捕获'玩家O标记时,玩家O标记被'翻转'并且变成玩家X.
所以基本上我得到了其他检查半工作。但是对于我的生活,我无法正确对齐。
因此,对于左对角线,我使用了两个变量for循环来计算并使其工作。
即
for(i=r-2, j=c-2;j>=0;i--,j--)
但是因为当我向右对角检查时(假设我从左下角开始)。当列增加时,行正在减少,而AFAIK for循环的两个变量不处理(?)。
谢谢!
答案 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-- )