diff --git a/src/Laeufer.c b/src/Laeufer.c index dbfc313..3e0cb71 100644 --- a/src/Laeufer.c +++ b/src/Laeufer.c @@ -9,19 +9,22 @@ bool istzugerlaubt_Laeufer(char** Brett, int startX, int startY, int endX, int endY, Player player){ - // Prüfen, ob der Zug auf dem Spielbrett liegt - if (endX < 0 || endX >= 8 || endY < 0 || endY >= 8) - return false; - // Prüfen, ob der Zug eine L-Bewegung ist - if ((abs(endX - startX) == 2 && abs(endY - startY) == 1) || (abs(endX - startX) == 1 && abs(endY - startY) == 2)) { + + // Überprüfen Sie, ob der Zug innerhalb des Bretts liegt + if (endX < 0 || endX > 7 || endY < 0 || endY > 7) { return false; } - // Diagonale Bewegung - // Wenn die Feldfarbe sich ändert - return false; + + // Überprüfen Sie, ob der Zug eine gültige Diagonalbewegung ist + if (abs(endX - startX) == abs(endY - startY)) { + return true; + } + + // Prüfen ob eine gegnerische Figur den Weg kreuzt // Wenn keines der obigen Kriterien erfüllt ist, ist der Zug ungültig - return true; + return false; } +