|
@ -141,21 +141,21 @@ void Apfel(int realU[N][N]){ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//Die Funktion überprüft, ob das Feld bereits vom Schlangenkoerper besetzt ist. |
|
|
//Die Funktion überprüft, ob das Feld bereits vom Schlangenkoerper besetzt ist. |
|
|
int feldFrei(int realU1[N-1][N-1], int ii, int jj){ |
|
|
|
|
|
if (realU1[ii][jj] == 0) |
|
|
|
|
|
|
|
|
int feldFrei(int realU[N][N], int ii, int jj){ |
|
|
|
|
|
if (realU[ii][jj] == 0) |
|
|
{ |
|
|
{ |
|
|
return 1; |
|
|
return 1; |
|
|
} |
|
|
} |
|
|
return 0; |
|
|
return 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
int lose(int realU[N][N], int realU1[N-1][N-1], char richtung){ |
|
|
|
|
|
|
|
|
int lose(int realU[N][N], char richtung){ |
|
|
int groesste = 0; //Suche den Kopf der Schlange |
|
|
int groesste = 0; //Suche den Kopf der Schlange |
|
|
int ii, jj; |
|
|
int ii, jj; |
|
|
for(int i = 0; i < N ; i++){ |
|
|
for(int i = 0; i < N ; i++){ |
|
|
for(int j = 0; j < N; j++){ |
|
|
for(int j = 0; j < N; j++){ |
|
|
if (realU1[i][j] > groesste){ |
|
|
|
|
|
groesste = realU1[i][j]; |
|
|
|
|
|
|
|
|
if (realU[i][j] > groesste && realU[i][j] != (N * N) + 1){ |
|
|
|
|
|
groesste = realU[i][j]; |
|
|
ii = i; |
|
|
ii = i; |
|
|
jj = j; |
|
|
jj = j; |
|
|
} |
|
|
} |
|
@ -163,25 +163,25 @@ int lose(int realU[N][N], int realU1[N-1][N-1], char richtung){ |
|
|
} |
|
|
} |
|
|
//Ueberpruefe ob eine Bewegung nach oben moeglich ist |
|
|
//Ueberpruefe ob eine Bewegung nach oben moeglich ist |
|
|
if(richtung == 'u'){ |
|
|
if(richtung == 'u'){ |
|
|
if(realU[ii - 1][jj] != 0 || feldFrei(realU1, ii-1, jj) == 1){ |
|
|
|
|
|
|
|
|
if(realU[ii - 1][jj] != (N* N) + 1 && feldFrei(realU[N][N], ii-1, jj) == 1){ |
|
|
return 1; |
|
|
return 1; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//Ueberpruefe ob eine Bewegung nach unten moeglich ist |
|
|
//Ueberpruefe ob eine Bewegung nach unten moeglich ist |
|
|
if(richtung == 'd'){ |
|
|
if(richtung == 'd'){ |
|
|
if(realU[ii + 1][jj] != N || feldFrei(realU1, ii+1, jj) == 1){ |
|
|
|
|
|
|
|
|
if(realU[ii + 1][jj] != N || feldFrei(realU, ii+1, jj) == 1){ |
|
|
return 1; |
|
|
return 1; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//Ueberpruefe ob eine Bewegung nach links moeglich ist |
|
|
//Ueberpruefe ob eine Bewegung nach links moeglich ist |
|
|
if(richtung == 'l'){ |
|
|
if(richtung == 'l'){ |
|
|
if(realU[ii][jj-1] != 0 || feldFrei(realU1, ii, jj-1) == 1){ |
|
|
|
|
|
|
|
|
if(realU[ii][jj-1] != 0 || feldFrei(realU, ii, jj-1) == 1){ |
|
|
return 1; |
|
|
return 1; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//Ueberpruefe ob eine Bewegung nach rechts moeglich ist |
|
|
//Ueberpruefe ob eine Bewegung nach rechts moeglich ist |
|
|
if(richtung == 'r'){ |
|
|
if(richtung == 'r'){ |
|
|
if(realU[ii][jj + 1] > N || feldFrei(realU1, ii, jj+1) == 1){ |
|
|
|
|
|
|
|
|
if(realU[ii][jj + 1] > N || feldFrei(realU, ii, jj+1) == 1){ |
|
|
return 1; |
|
|
return 1; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|