我必须读取二维数组的所有对角线。 它应该是动态的,这与数组的大小无关(无论2x2,5x9 ......)。
现在这是我的问题,我不知道如何解决它。 是否可以使用循环执行此操作?
谢谢你的帮助:D
答案 0 :(得分:0)
让我们说你的代码正在检查一些坐标(x,y),其中x是数组中的行号,y是列号,如下所示:
array[x][y];
请注意,这是标准笛卡尔坐标网格的90度反演。要访问左上角的单元格,您需要降低y和x,以便对数组进行索引,如下所示:
array[x-1][y-1]
要访问右上角,请使用:
array[x-1][y+1]
左下角:
array[x+1][y-1]
右下角:
array[x+1][y+1]
检查"对角线"您需要选择要检查的对角线方向,然后重复检查,直到您连续找到四个或找到其他玩家的棋子或空白区域。它可以通过循环完成,但更优雅的解决方案可能涉及递归。