From 8298d7d6091d9d5bd4239007ed1ad35410389ad8 Mon Sep 17 00:00:00 2001 From: Jannis Date: Fri, 10 Feb 2023 22:51:22 +0100 Subject: [PATCH] Refactoring lose --- src/Spiellogik.c | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/Spiellogik.c b/src/Spiellogik.c index f739910..a2f84b0 100644 --- a/src/Spiellogik.c +++ b/src/Spiellogik.c @@ -59,33 +59,37 @@ int win(int realU[N][N]){ } +// Die Funktion gibt bei verlorenem Spiel 1 zurück +// Das Spiel ist verloren wenn die Schlange den Spielbereich verlässt +//oder sich selbst trifft int lose(int realU[N][N], char richtung){ int ii = sucheXWert(realU); int jj = sucheYWert(realU); - if (richtung == 'u') { - if (realU[ii - 1][jj] != (N*N) + 1&& realU[ii - 1][jj] != 0) { + switch(richtung){ + case '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) { + } + + case '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) { + } + + case '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) { + } + + case 'r': + if (realU[ii][jj + 1] != (N*N) + 1 && realU[ii][jj + 1] != 0) { return 1; - } - } - return 0; + } + + return 0; + } } /*int update(int realU[N][N],char richtung) {