що за бздури... кожен квадратик перевірити по матриці +1+1.-1-1. 5 х +1 0 . -1 0 5х 0 ........ отак \ так / ітак - ітак | і нетреба ніяких горизонталей і вертикалей. ліпше дані в матриці полі тримати. зараз напишу якомога попроще.
class code
{
.....
code(int ,int,int,int,int,int,int,int,int,int); 2 по 5;
int c[10];
bool check( a int [][], i int. j int){} перевірка матриці з умовою вихода за межі.
{
int k=a[i][j];
if (i+c[0]>=0 && i+c[0]<N)&&(j+c[1]>=0 && j+c[1]<N) if (k==a[i+c[0]][j+c[1]])
if (i+c[2]>=0 && i+c[2]<N)&&(j+c[3]>=0 && j+c[3]<N) if (k==a[i+c[2]][j+c[3]])
if (i+c[4]>=0 && i+c[4]<N)&&(j+c[5]>=0 && j+c[5]<N) if (k==a[i+c[4]][j+c[5]])
if (i+c[6]>=0 && i+c[6]<N)&&(j+c[7]>=0 && j+c[7]<N) if (k==a[i+c[6]][j+c[7]])
if (i+c[8]>=0 && i+c[8]<N)&&(j+c[9]>=0 && j+c[9]<N) if (k==a[i+c[8]][j+c[9]])
return true;
return false;
}
}
code m []=(-1,-1,-2,-2,0,0,1,1,2,2),..............коди перевірок 19 штук.
for (i)...0..n
for (j)...0..n
for(k)... 0..19
if (m[k].check(a,i,j)) {
if (a[i][j]==1) {win 1} else{win 2}.
тру ля ля перевірка на кінець гри.
}
наваляжив на бисторую щоб просто понять алгоритм