einheit_move agepasst

This commit is contained in:
Maximilian Wagner 2023-05-22 16:52:31 +02:00
parent 2d1547d458
commit af87235c01

View File

@ -19,18 +19,15 @@ player_turn(Player) :-
% Bewegt die Einheit des Spielers an position Xold, Yold % Bewegt die Einheit des Spielers an position Xold, Yold
% um Xmove, Ymove in die jeweilige Richtung % um Xmove, Ymove in die jeweilige Richtung
einheit_move(Player, Xold, Yold, Xmove, Ymove) :- einheit_move(Player, Xold, Yold, Xnew, Ynew) :-
% Die Einheit entfernen % Die Einheit entfernen
retract( einheit_active(Player, Type, Xold, Yold) ), retract( einheit_active(Player, Type, Xold, Yold) ),
% Neue position berechnen
Xnew is Xold + Xmove,
Ynew is Yold + Ymove,
% Die Einheit an die neue Position setzen % Die Einheit an die neue Position setzen
assert( einheit_active(Player, Type, Xnew, Ynew) ), assert( einheit_active(Player, Type, Xnew, Ynew) ),
% Errechnen der verbleibenden Tokens % Errechnen der verbleibenden Tokens
retract( player_tokens(Player, Tokens) ), retract( player_tokens(Player, Tokens) ),
TokensNew is Tokens - Xmove - Ymove, % die berechnung muss noch mal angeschaut werden
TokensNew is Tokens - (Xold - Xnew) - (Xold - Ynew),
assert( player_tokens(Player, TokensNew) ). assert( player_tokens(Player, TokensNew) ).