Witma
mam problem z algorytmem sprawdzajacym czy na planszy ktos wygrał stawiajac 3 znaki, na planszy 10x10
znajduje mi wygrana tylko jak mój ciag X czy O rozpoczyna sie od miejsc 0,0 albo 0,1 gdzie x to nr wiersza a 2 liczba to kolumny
prosze o jaks pomoc
bool wygrana(int x,int y){
int licznik = 0;
for(x=0; x< wymiar; x++){
for(y=0; y<wymiar;y++){
if (p[x][y]->getkrzyzyk()){
for(int i = x; i < 3; i++)//poziomo
{
if(i >= 3)
break;
if(p[i][y]->getkrzyzyk())
licznik++;
}
if(licznik == 3)
return true;
else licznik = 0;
for(int i = y; i < 3; i++)//pionowo
{
if(i >= 3)
break;
if(p[x][i]->getkrzyzyk())
licznik++;
}
if(licznik == 3)
return true;
else licznik = 0;
for(int i = 0; i < 3; i++)//ukośnie 1
{
if(x + i >= 3 || y + i >= 3)
break;
if(p[x + i][y + i]->getkrzyzyk())
licznik++;
}
if(licznik == 3)
return true;
else
licznik = 0;
return false;
}
if (p[x][y]->getkolko()){
for(int i = x; i < 3; i++)//poziomo
{
if(i >= 3)
break;
if(p[i][y]->getkolko())
licznik++;
}
if(licznik == 3)
return true;
else licznik = 0;
for(int i = y; i < 3; i++)//pionowo
{
if(i >= 3)
break;
if(p[x][i]->getkolko())
licznik++;
}
if(licznik == 3)
return true;
else licznik = 0;
for(int i = 0; i < 3; i++)//ukośnie 1
{
if(x + i >= 3 || y + i >= 3)
break;
if(p[x + i][y + i]->getkolko())
licznik++;
}
if(licznik == 3)
return true;
else
licznik = 0;
return false;
}
}
}
}