|
@ -9,19 +9,22 @@ |
|
|
|
|
|
|
|
|
bool istzugerlaubt_Laeufer(char** Brett, int startX, int startY, int endX, int endY, Player player){ |
|
|
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; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
// Diagonale Bewegung |
|
|
|
|
|
// Wenn die Feldfarbe sich ändert |
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
// Wenn keines der obigen Kriterien erfüllt ist, ist der Zug ungültig |
|
|
|
|
|
|
|
|
// Überprüfen Sie, ob der Zug eine gültige Diagonalbewegung ist |
|
|
|
|
|
if (abs(endX - startX) == abs(endY - startY)) { |
|
|
return true; |
|
|
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 false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|