From 0dd7470bbbd9f0a15696d56c9588e20bf343e0b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hendrik=20Vo=C3=9F?= Date: Tue, 6 Feb 2024 10:05:12 +0100 Subject: [PATCH] =?UTF-8?q?Bewegung=20f=C3=BCr=20L=C3=A4ufer=20angepasst,?= =?UTF-8?q?=20Hendrik=20Vo=C3=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Laeufer.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) 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; } +