سلام دوستان
نماز و روزه هاتون قبول باشه
دارن برنانه TicTacToe یا همون XO خودمون مینویسم، اما تو قسمتی که باید برنده رو تشخیص بده مشکل دارم. ی تابع دارم validateGame() که قراره برنده رو تشخیص بده و با toast و log بگه کدوم شخص(X or O ) برنده شده و برنده در محور افقی هست یا عمودی (vertical or horizontal). میتونه X or O رو درست تشخیص بده امااا مثلا اگه من 3 تا O در
coordinate[0][0]=coordinate[0][1]=coordinate[0][2]
داشته باشم، طبق کدم باید for اول در اجرا horinzontal رو تشخیص بده و به for دوم نرسه اما کاملا برعکس عمل میکنه:(((

	public boolean validateGame(){
Cell check=null;
int counter=0;
XSymbol xsym=new XSymbol();
OSymbol osym=new OSymbol();

//horizontal
for(int i=0;i<coordinate.length;i++){
check=null;
for(int j=0;j<coordinate.length;j++){
if(!coordinate[i][j].equals(check)||coordinate[i][j] instanceof Empty){
check=coordinate[i][j];
counter=0;
}
else
counter++;
if(counter==playerWin-1){
if(coordinate[i][j].equals(xsym)){
winX=true;
Log.e("horizontal", "x");
Toast.makeText(getContext(), "HORIZONTAL X", Toast.LENGTH_LONG).show();
}
else{
winO=true;
Log.e("horizontal", "o");
Toast.makeText(getContext(), "HORIZONTAL O", Toast.LENGTH_LONG).show();
}
return true;
}
}
counter=0;
}

//vertical
for(int i=0;i<coordinate.length;i++){
check=null;
counter=0;
for(int j=0;j<coordinate.length;j++){
if(!coordinate[j][i].equals(check)||coordinate[j][i] instanceof Empty){
check=coordinate[j][i];
counter=0;
}
else
counter++;
if(counter==playerWin-1){
if(coordinate[j][i].equals(osym)){
winO=true;
Log.e("vertical", "o");
Toast.makeText(getContext(), "VERTICAL O", Toast.LENGTH_LONG).show();
}
else{
winX=true;
Log.e("vertical", "x");
Toast.makeText(getContext(), "VERTIC" +"AL X", Toast.LENGTH_LONG).show();
}
return true;
}
}
counter=0;
}

return false;
}


امیدوارم هرکسی میتونه راهنمایی کنه.
موفق باشید.