Browse Source

Zweite PuzzleII.c hinzugefügt, Emman Mensdorf

main
Emman Mensdorf 11 months ago
parent
commit
810ec9f1eb
  1. 57
      src/schach_in_ein_puzzle/PuzzleI.c
  2. 0
      src/schach_in_ein_puzzle/PuzzleII.c

57
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 // Spielbrett befüllen, groß und kleinschreibung unterschiedlich um schwarz/weiß zu trennen
char Aufbau[8][8] = { 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++) { for (int i = 0; i < 8; i++) {
@ -72,44 +72,3 @@ void Puzzlebrettspeicher_freigeben(char** Brett) {
free(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;
}

0
src/schach_in_ein_puzzle/PuzzleII.c

Loading…
Cancel
Save