Java | TictaToe右对角线不工作

Java | TictaToe右对角线不工作,java,arrays,2d,diagonal,Java,Arrays,2d,Diagonal,目前正在用java开发一个tic-tac-toe游戏,我有一个checkWin()方法,可以在4种可能的获胜条件中正确地处理3种。我遇到问题的是右对角线 代码: 这样设置的原因是2D阵列的工作原理,因此对于3x3板: [00][01][02] [10] [11][12] [20] [21][22] 当i+j=size-1时,它将计算2+0,1+1,0+2都等于2,如果size=3,则为size-1,但当我运行程序并执行右对角移动时,它不会返回win的真实值 如有任何关于如何解决此问题的建议,我们

目前正在用java开发一个tic-tac-toe游戏,我有一个checkWin()方法,可以在4种可能的获胜条件中正确地处理3种。我遇到问题的是右对角线

代码:

这样设置的原因是2D阵列的工作原理,因此对于3x3板:

[00][01][02]

[10] [11][12]

[20] [21][22]

当i+j=size-1时,它将计算2+0,1+1,0+2都等于2,如果size=3,则为size-1,但当我运行程序并执行右对角移动时,它不会返回win的真实值

如有任何关于如何解决此问题的建议,我们将不胜感激

else if ((size - 1) == i + j)
^仅当其上方的
if
条件为false时,才会对其进行评估

if(i == j)
i==1
j==1
时,则
i==j
为真,因此不计算
(大小-1)==i+j


TLDR:去掉你的
,否则它会评估[…]1+1不,不会。启动调试器,好的。我一会儿就来,刚离开家。但是如果你不介意启发我的话,为什么不从这里开始呢,哈哈?答案是在你抱怨的那条线的上方几行。将来,我建议你在问这些问题之前先做一些检查。我不认为你可以像检查行和列那样检查对角线。共有三行三列,共六行,但只有两条对角线。我认为对角线不属于for循环。Markspace是有意义的,但是为什么左对角线在循环中起作用而右对角线不起作用呢?如果不是一个循环,我将如何访问不同大小的电路板的值?这就成功了,天哪,我觉得自己很笨。如果我觉得我需要的话,我已经习惯了使用其他工具。非常感谢。这正是我说在问这个问题之前先尝试调试的原因。
else if ((size - 1) == i + j)
if(i == j)