Browse Source

Extra Checks, Anton Lohrey

remotes/origin/Läufer-fertig,-Hendrik-Voß
fdai7492 11 months ago
parent
commit
910ee7ac17
  1. 14
      src/Springer.c

14
src/Springer.c

@ -7,6 +7,10 @@
#include "Springer.h"
bool istzugerlaubt_Springer(char** Brett, int startX, int startY, int endX, int endY, Player player) {
// Schauen ob der zug auf dem Spielbrett passiert
if (endX < 0 || endX >= 8 || endY < 0 || endY >= 8) {
return false;
}
// Berechnung des unterschieds der start und endpositionen
int dx = abs(endX - startX);
int dy = abs(endY - startY);
@ -17,6 +21,16 @@ bool istzugerlaubt_Springer(char** Brett, int startX, int startY, int endX, int
if ((dx == 2 && dy == 1) || (dx == 1 && dy == 2)) {
char EndPosition = Brett[endY][endX];
//schaut ob die Endposition von einer eigenen Figur belegt ist
if (player == PLAYER_WHITE) {
if (isupper(EndPosition) && EndPosition != ' ') {
return false;
}
} else { // PLAYER_BLACK
if (islower(EndPosition) && EndPosition != ' ') {
return false;
}
}
if (player == PLAYER_WHITE && islower(EndPosition)) {
return true; // Erlaubter zug weil die Position leer ist oder von einer gegnerischen Figur belegt ist

Loading…
Cancel
Save