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
% um Xmove, Ymove in die jeweilige Richtung
einheit_move(Player, Xold, Yold, Xmove, Ymove) :-
einheit_move(Player, Xold, Yold, Xnew, Ynew) :-
% Die Einheit entfernen
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
assert( einheit_active(Player, Type, Xnew, Ynew) ),
% Errechnen der verbleibenden 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) ).