我有一个多课程,我试图为其赢得胜利条件。但是,当我尝试将包含对象的2D数组与另一个同类对象进行比较时。
以下是一个示例,我已经测试了骨头,方法确实有效,但if语句没有,非常感谢任何帮助。
(是的,我将它们转换为带引号的字符串,但声明无论如何都不起作用)
public boolean winner()//Checks to see if someone has won.
{
XO x = new XO("X");//creates the objects to mimic the players
XO o = new XO("O");
if((board [0][0]+"").equals(o+"") && (board [0][1]+"").equals(o+"") && (board [0][2]+"").equals(o+""))//top horizontal row
{
return true;
}
else if((board [0][1]+"").equals(o+"") && (board [1][1]+"").equals(o+"") && (board [2][1]+"").equals(o+""))//mid horizontal row
{
return true;
}
else if((board [0][2]+"").equals(o+"") && (board [1][2]+"").equals(o+"") && (board [2][2]+"").equals(o+""))//bottom horizontal row
{
return true;
}
else if((board [0][0]+"").equals(o+"") && (board [0][1]+"").equals(o+"") && (board [0][2]+"").equals(o+""))//left vertical row
{
return true;
}
else if((board [1][0]+"").equals(o+"") && (board [1][1]+"").equals(o+"") && (board [1][2]+"").equals(o+""))//mid vertical row
{
return true;
}
else if((board [2][0]+"").equals(o+"") && (board [2][1]+"").equals(o+"") && (board [2][2]+"").equals(o+""))//right vertical row
{
return true;
}
else if((board [0][0]+"").equals(o+"") && (board [1][1]+"").equals(o+"") && (board [2][2]+"").equals(o+""))//declining diagonal row
{
return true;
}
else if((board [2][0]+"").equals(o+"") && (board [1][1]+"").equals(o+"") && (board [0][2]+"").equals(o+""))//rising diagonal row
{
return true;// respectively the same for the lines below
}
//Above O wins, Below X wins
else if((board [0][0]+"").equals(x+"") && (board [0][1]+"").equals(x+"") && (board [0][2]+"").equals(x+""))//top horizontal row
{
return true;
}
else if((board [0][1]+"").equals(x+"") && (board [1][1]+"").equals(x+"") && (board [2][1]+"").equals(x+""))//mid horizontal row
{
return true;
}
else if((board [0][2]+"").equals(x+"") && (board [1][2]+"").equals(x+"") && (board [2][2]+"").equals(x+""))//bottom horizontal row
{
return true;
}
else if((board [0][0]+"").equals(x+"") && (board [0][1]+"").equals(x+"") && (board [0][2]+"").equals(x+""))//left vertical row
{
return true;
}
else if((board [1][0]+"").equals(x+"") && (board [1][1]+"").equals(x+"") && (board [1][2]+"").equals(x+""))//mid vertical row
{
return true;
}
else if((board [2][0]+"").equals(x+"") && (board [2][1]+"").equals(x+"") && (board [2][2]+"").equals(x+""))//right vertical row
{
return true;
}
else if((board [0][0]+"").equals(x+"") && (board [1][1]+"").equals(x+"") && (board [2][2]+"").equals(x+""))//declining diagonal row
{
return true;
}
else if((board [2][0]+"").equals(x+"") && (board [1][1]+"").equals(x+"") && (board [0][2]+"").equals(x+""))//rising diagonal row
{
return true;// respectively the same for the lines below
}
else//if none of these are fulfilled
return false;}