This question already has an answer here:
- How do I compare strings in Java? 23 answers
I have a multi class program in which I'm trying to make winning conditions for. However when I attempt to compare the 2D array that contains an object, with another object of the same kind.
Here is a sample, I've tested the bare bones and the method does work, it's the if statements that do not, any help is very much appreciated.
(Yes I converted them to strings with the quotations, however the statement doesn't work either way)
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]+"" == o+"" && board [0][1]+"" == o+"" && board [0][2]+"" == o+"")//top horizontal row
{
return true;
}
else if(board [0][1]+"" == o+"" && board [1][1]+"" == o+"" && board [2][1]+"" == o+"")//mid horizontal row
{
return true;
}
else if(board [0][2]+"" == o+"" && board [1][2]+"" == o+"" && board [2][2]+"" == o+"")//bottom horizontal row
{
return true;
}
else if(board [0][0]+"" == o+"" && board [0][1]+"" == o+"" && board [0][2]+"" == o+"")//left vertical row
{
return true;
}
else if(board [1][0]+"" == o+"" && board [1][1]+"" == o+"" && board [1][2]+"" == o+"")//mid vertical row
{
return true;
}
else if(board [2][0]+"" == o+"" && board [2][1]+"" == o+"" && board [2][2]+"" == o+"")//right vertical row
{
return true;
}
else if(board [0][0]+"" == o+"" && board [1][1]+"" == o+"" && board [2][2]+"" == o+"")//declining diagonal row
{
return true;
}
else if(board [2][0]+"" == o+"" && board [1][1]+"" == o+"" && board [0][2]+"" == o+"")//rising diagonal row
{
return true;// respectively the same for the lines below
}
//Above O wins, Below X wins
else if(board [0][0]+"" == x+"" && board [1][0]+"" == x+"" && board [2][0]+"" == x+"")
{
return true;
}
else if(board [0][1]+"" == x+"" && board [1][1]+"" == x+"" && board [2][1]+"" == x+"")
{
return true;
}
else if(board [0][2]+"" == x+"" && board [1][2]+"" == x+"" && board [2][2]+"" == x+"")
{
return true;
}
else if(board [0][0]+"" == x+"" && board [0][1]+"" == x+"" && board [0][2]+"" == x+"")
{
return true;
}
else if(board [1][0]+"" == x+"" && board [1][1]+"" == x+"" && board [1][2]+"" == x+"")
{
return true;
}
else if(board [2][0]+"" == x+"" && board [2][1]+"" == x+"" && board [2][2]+"" == x+"")
{
return true;
}
else if(board [0][0]+"" == x+"" && board [1][1]+"" == x+"" && board [2][2]+"" == x+"")
{
return true;
}
else if(board [2][0]+"" == x+"" && board [1][1]+"" == x+"" && board [0][2]+"" == x+"")
{
return true;
}
else//if none of these are fulfilled
return false;}
Aucun commentaire:
Enregistrer un commentaire