I hope someone can help me.
This is my function:
int gewinnpruefung(char matrix[][8], char symbol, int zug_auswahl, int zl)
{
int i, j, tmp;
/* senkrecht */
tmp = 1;
for(j = zl + 1; j < HOEHE && matrix[(zug_auswahl-1)][j] == symbol; ++j, ++tmp);
if(tmp >= GEWONNEN)
return 1;
/* waagerecht */
tmp = 1;
for(i = (zug_auswahl-1) - 1; i >= 0 && matrix[i][zl] == symbol; --i, ++tmp);
for(i = (zug_auswahl-1) + 1; i < BREITE && matrix[i][zl] == symbol; ++i, ++tmp);
if(tmp >= GEWONNEN)
return 1;
/* diagonal \ */
tmp = 1;
for(i = (zug_auswahl-1) - 1, j = zl - 1; i >= 0 && j >= 0 && matrix[i][j] == symbol; --i, --j, ++tmp);
for(i = (zug_auswahl-1) + 1, j = zl + 1; i < BREITE && j < HOEHE && matrix[i][j] == symbol; ++i, ++j, ++tmp);
if(tmp >= GEWONNEN)
return 1;
/* diagonal / */
tmp = 1;
for(i = (zug_auswahl-1) - 1, j = zl + 1; i >= 0 && j < HOEHE && matrix[i][j] == symbol; --i, ++j, ++tmp);
for(i = (zug_auswahl-1) + 1, j = zl - 1; i < BREITE && j >= 0 && matrix[i][j] == symbol; ++i, --j, ++tmp);
if(tmp >= GEWONNEN)
return 1;
return 0;
}
I need it for my program, four wins.
Hoehe -> height
gewonnen -> win
Any ideas, if this works?