Browse Source

rudimentär istSchachmatt, Anton Lohrey

remotes/origin/Läufer-fertig,-Hendrik-Voß
fdai7492 11 months ago
parent
commit
c09f13a3ef
  1. 11
      src/Koenig.c
  2. 1
      src/Koenig.h

11
src/Koenig.c

@ -350,4 +350,13 @@ bool KannKoenigEntkommen(char** Brett, int koenigX, int koenigY, Player player)
} }
} }
return false; return false;
}
}
bool istSchachmatt(char** Brett, int koenigX, int koenigY, Player player) {
// Überprüfen, ob der König im Schach steht
if (istKoenigImSchach(Brett, player)) {
return true; // Nicht Schachmatt, wenn der König nicht im Schach steht.
}
// Überprüfen, ob der König entkommen kann
return !KannKoenigEntkommen(Brett, koenigX, koenigY, player);
}

1
src/Koenig.h

@ -15,4 +15,5 @@ void bewegeKoenig(char** Brett, int startX, int startY, int endX, int endY, Play
bool kannRochieren(char** Brett, int startX, int startY, Player player, Spielstatus* status, bool kingside); bool kannRochieren(char** Brett, int startX, int startY, Player player, Spielstatus* status, bool kingside);
void rochiere(char** Brett, Player player, bool kingside, Spielstatus* status); void rochiere(char** Brett, Player player, bool kingside, Spielstatus* status);
bool KannKoenigEntkommen(char** Brett, int koenigX, int koenigY, Player player); bool KannKoenigEntkommen(char** Brett, int koenigX, int koenigY, Player player);
bool istSchachmatt(char** Brett, int koenigX, int koenigY, Player player);
#endif // Koenig #endif // Koenig
Loading…
Cancel
Save