From 810ec9f1ebc52bb933930525db8519a30550e9dd Mon Sep 17 00:00:00 2001 From: Emman Mensdorf Date: Thu, 8 Feb 2024 14:29:34 +0100 Subject: [PATCH] =?UTF-8?q?Zweite=20PuzzleII.c=20hinzugef=C3=BCgt,=20Emman?= =?UTF-8?q?=20Mensdorf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/schach_in_ein_puzzle/PuzzleI.c | 57 ++++------------------------- src/schach_in_ein_puzzle/PuzzleII.c | 0 2 files changed, 8 insertions(+), 49 deletions(-) create mode 100644 src/schach_in_ein_puzzle/PuzzleII.c diff --git a/src/schach_in_ein_puzzle/PuzzleI.c b/src/schach_in_ein_puzzle/PuzzleI.c index ed09f59..d99e192 100644 --- a/src/schach_in_ein_puzzle/PuzzleI.c +++ b/src/schach_in_ein_puzzle/PuzzleI.c @@ -28,14 +28,14 @@ char** Puzzlebrett_erstellen() { // Spielbrett befüllen, groß und kleinschreibung unterschiedlich um schwarz/weiß zu trennen char Aufbau[8][8] = { - { ' ' , 'K' , ' ' , ' ' , 'R' , ' ' , ' ' , ' ' }, - { ' ' , 'P' , 'P' , ' ' , ' ' , ' ' , 'r' , ' ' }, - { 'P' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' }, - { ' ' , ' ' , 'b' , ' ' , ' ' , ' ' , ' ' , ' ' }, - { ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , 'P' }, - { ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , 'p' }, - { 'p' , 'p' , 'p' , ' ' , ' ' , ' ' , ' ' , ' ' }, - { ' ' , 'k' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' } + { 'R' , 'N' , ' ' , 'K' , ' ' , ' ' , 'N' , 'R' }, + { 'P' , 'P' , 'P' , ' ' , ' ' , ' ' , 'B' , 'P' }, + { ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' }, + { ' ' , ' ' , ' ' , 'P' , ' ' , 'B' , ' ' , ' ' }, + { ' ' , ' ' , ' ' , ' ' , 'D' , ' ' , ' ' , ' ' }, + { ' ' , ' ' , 'n' , ' ' , ' ' , 'n' , ' ' , ' ' }, + { 'p' , 'p' , 'p' , ' ' , 'p' , 'p' , 'p' , 'p' }, + { 'r' , ' ' , 'b' , 'k' , 'd' , 'b' , ' ' , 'r' } }; for (int i = 0; i < 8; i++) { @@ -72,44 +72,3 @@ void Puzzlebrettspeicher_freigeben(char** Brett) { free(Brett); } - -bool loesung_abchecken(char** Brett) { - // checke nach dem gegnerischen König (kleines 'k') ab - int koenig_X = -1, koenig_Y = -1; - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - if (Brett[i][j] == 'k') { - koenig_X = i; - koenig_Y = j; - break; - } - } - if (koenig_X != -1 && koenig_Y != -1) { - break; - } - } - - // Überprüfe, ob der gegnerische König schachmatt auf dem feld - if (koenig_X == -1 || koenig_Y == -1) { - // König nicht gefunden -> error - return false; - } - - // Überprüfe, ob der gegnerische König von einer Figur bedroht wird - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - if (Brett[i][j] == 'R') { - // Überprüfe, ob der Turm den König horizontal bedroht - if (i == 7 && j == 4) { - // Der Turm bedroht den König - printf("Puzzle geloest"); - return true; // gelöst - } - - } - } - } - // Wenn keine Figur den gegnerischen König bedroht, ist das Puzzle nicht gelöst - printf("Puzzle nicht gelöst"); - return false; -} \ No newline at end of file diff --git a/src/schach_in_ein_puzzle/PuzzleII.c b/src/schach_in_ein_puzzle/PuzzleII.c new file mode 100644 index 0000000..e69de29