From 667fcc418b705ea4144278b0deeb06a27872aa3e Mon Sep 17 00:00:00 2001 From: Maximilian Wagner Date: Sun, 25 Jun 2023 10:53:38 +0200 Subject: [PATCH] =?UTF-8?q?Out=20of=20Bounds=20check=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logik.pl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/logik.pl b/logik.pl index 2185b47..c9949d5 100644 --- a/logik.pl +++ b/logik.pl @@ -96,6 +96,9 @@ einheit_attack(Xattack, Yattack, Xdefend, Ydefend) :- einheit_active(Player, TypeAttack, Xattack, Yattack, _), einheit_active(PlayerDefend, TypeDefend, Xdefend, Ydefend, HP), + % Friendly Fire verhindern + \+ Player = PlayerDefend, + % Info für Einheiten-Typen abrufen einheit(TypeAttack, AP, _, _, _, _), einheit(TypeDefend, _, _, MultDef, _, _), @@ -128,6 +131,10 @@ einheit_attack(Xattack, Yattack, Xdefend, Ydefend) :- % Lässt eine Einheit bewegen, oder wenn der Platz schon belegt ist, angreifen % Der Zug wird danach automatisch beendet einheit_action(Xold, Yold, Xnew, Ynew) :- + % Sicher gehen, dass nichts out of bounds geht + Xnew > -1, Xnew < 5, + Ynew > -1, Ynew < 5, + ( % Bewege Einheit oder greife damit an, falls möglich einheit_move(Yold, Xold, Ynew, Xnew), !;