Warunek do pionu i poziomu zrobiłem natomiast mam problem ze sprawdzaniem po ukosie. Działa mi tylko jedna możliwość.
Próbowałem różnymi sposobami. Dla informacji [kolumna][wiersz]. Po sprawdzeniu danej możliwości chciałem żeby mi dodało albo jedną wartość do [kolumn] czyli przesuneło w prawą stronę o jeden i tam znowu sprawdziło itd.
KOD cpp: UKRYJ
//po ukosie
//for(int i=0; i<30; i++)
/*{*/ int q=0,w=1,e=2,r=3,t=4;
int z=0,x=1,c=2,v=3,b=4;
for(int i=0; i<30; i++)
{
for(int l=0; l<26; l++)
{
if((Form1->StringGrid1->Cells[z][q]=="0")&&(Form1->StringGrid1->Cells[z][q]==Form1->StringGrid1->Cells[x][w])&&(Form1->StringGrid1->Cells[x][w]==Form1->StringGrid1->Cells[c][e])&&(Form1->StringGrid1->Cells[c][e]==Form1->StringGrid1->Cells[v][r])&&(Form1->StringGrid1->Cells[v][r]==Form1->StringGrid1->Cells[b][t])) wygrana_o();
else if((Form1->StringGrid1->Cells[z][q]=="X")&&(Form1->StringGrid1->Cells[z][q]==Form1->StringGrid1->Cells[x][w])&&(Form1->StringGrid1->Cells[x][w]==Form1->StringGrid1->Cells[c][e])&&(Form1->StringGrid1->Cells[c][e]==Form1->StringGrid1->Cells[v][r])&&(Form1->StringGrid1->Cells[v][r]==Form1->StringGrid1->Cells[b][t])) wygrana_x();
z++; x++; c++; v++; b++;
//q++; w++; e++; r++; t++;//jakby to też dodawało jak i te (z,x,c,v,b) to by tylko od lewego górnego rogu do prawego dolnego sprawdziło, więc skomentowałem żeby chociaż od od górnej krawędzi zaczęło sprawdzać
z++; x++; c++; v++; b++;
}
}
//for(int i=0; i<30; i++)
/*{*/ int q=0,w=1,e=2,r=3,t=4;
int z=0,x=1,c=2,v=3,b=4;
for(int i=0; i<30; i++)
{
for(int l=0; l<26; l++)
{
if((Form1->StringGrid1->Cells[z][q]=="0")&&(Form1->StringGrid1->Cells[z][q]==Form1->StringGrid1->Cells[x][w])&&(Form1->StringGrid1->Cells[x][w]==Form1->StringGrid1->Cells[c][e])&&(Form1->StringGrid1->Cells[c][e]==Form1->StringGrid1->Cells[v][r])&&(Form1->StringGrid1->Cells[v][r]==Form1->StringGrid1->Cells[b][t])) wygrana_o();
else if((Form1->StringGrid1->Cells[z][q]=="X")&&(Form1->StringGrid1->Cells[z][q]==Form1->StringGrid1->Cells[x][w])&&(Form1->StringGrid1->Cells[x][w]==Form1->StringGrid1->Cells[c][e])&&(Form1->StringGrid1->Cells[c][e]==Form1->StringGrid1->Cells[v][r])&&(Form1->StringGrid1->Cells[v][r]==Form1->StringGrid1->Cells[b][t])) wygrana_x();
z++; x++; c++; v++; b++;
//q++; w++; e++; r++; t++;//jakby to też dodawało jak i te (z,x,c,v,b) to by tylko od lewego górnego rogu do prawego dolnego sprawdziło, więc skomentowałem żeby chociaż od od górnej krawędzi zaczęło sprawdzać
z++; x++; c++; v++; b++;
}
}
Wiecie w którym miejscu jest błąd?






