heutekeinkoenig/logik.pl

33 lines
819 B
Prolog

% hier kommt der ganze logik bums hin
% globalen Turncounter
player_turn(Player) :-
% calculate action points
calc_action_points(Player, Turncounter),
% further logic
% end of turn
% save remaining ap
save_action_points(Player).
% Bewegt die Einheit des Spielers an position Xold, Yold
% um Xmove, Ymove in die jeweilige Richtung
einheit_move(Player, Xold, Yold, Xnew, Ynew) :-
% Die Einheit entfernen
retract( einheit_active(Player, Type, Xold, Yold) ),
% Die Einheit an die neue Position setzen
assert( einheit_active(Player, Type, Xnew, Ynew) ),
% Errechnen der verbleibenden Tokens
retract( player_tokens(Player, Tokens) ),
% die berechnung muss noch mal angeschaut werden
TokensNew is Tokens - (Xold - Xnew) - (Xold - Ynew),
assert( player_tokens(Player, TokensNew) ).