diff --git a/build/test/out/c/Spiellogik.o b/build/test/out/c/Spiellogik.o index a4a2861..a135195 100644 Binary files a/build/test/out/c/Spiellogik.o and b/build/test/out/c/Spiellogik.o differ diff --git a/build/test/out/test_Spiellogik.out b/build/test/out/test_Spiellogik.out index 48055f6..740250b 100755 Binary files a/build/test/out/test_Spiellogik.out and b/build/test/out/test_Spiellogik.out differ diff --git a/build/test/results/test_Spiellogik.pass b/build/test/results/test_Spiellogik.pass index f55d8b7..01e1ece 100644 --- a/build/test/results/test_Spiellogik.pass +++ b/build/test/results/test_Spiellogik.pass @@ -23,4 +23,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0010967800003527373 +:time: 0.0012968020000698743 diff --git a/build/test/results/test_Umgebung.pass b/build/test/results/test_Umgebung.pass index 0065be7..d613774 100644 --- a/build/test/results/test_Umgebung.pass +++ b/build/test/results/test_Umgebung.pass @@ -19,4 +19,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0011177370001860254 +:time: 0.0011922139997295744 diff --git a/build/test/results/test_test.pass b/build/test/results/test_test.pass index 4954641..f1d7be2 100644 --- a/build/test/results/test_test.pass +++ b/build/test/results/test_test.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.0012317610003265145 +:time: 0.002588016000117932 diff --git a/src/Spiellogik.c b/src/Spiellogik.c index eaa8481..a8bff15 100644 --- a/src/Spiellogik.c +++ b/src/Spiellogik.c @@ -47,24 +47,27 @@ int lose(int realU[N][N], char richtung){ } } - switch (richtung){ - case 'u': //Ueberpruefe ob eine Bewegung nach oben moeglich ist - if(realU[ii - 1][jj] != (N* N) + 1 && feldFrei(realU, ii-1, jj) == 1){ - return 1;break; - } - case 'd': //Ueberpruefe ob eine Bewegung nach unten moeglich ist - if(realU[ii + 1][jj] != N || feldFrei(realU, ii+1, jj) == 1){ - return 1;break; - } - case 'l': //Ueberpruefe ob eine Bewegung nach links moeglich ist - if(realU[ii][jj-1] != 0 || feldFrei(realU, ii, jj-1) == 1){ - return 1;break; - } - case 'r': //Ueberpruefe ob eine Bewegung nach rechts moeglich ist - if(realU[ii][jj + 1] > N || feldFrei(realU, ii, jj+1) == 1){ - return 1;break; - } - } + if (richtung == 'u') { + if (realU[ii - 1][jj] != (N*N) + 1&& realU[ii - 1][jj] != 0) { + return 1; + } + } + else if (richtung == 'd') { + if (realU[ii + 1][jj] != (N*N) + 1 && realU[ii + 1][jj] != 0 || ii == 20) { + return 1; + } + } + else if (richtung == 'l') { + if (realU[ii][jj-1] != (N*N) + 1 && realU[ii][jj-1] != 0 || jj == 0) { + return 1; + + } + } + else { + if (realU[ii][jj + 1] != (N*N) + 1 && realU[ii][jj + 1] != 0) { + return 1; + } + } return 0; }