Fix für einheit_action
This commit is contained in:
parent
e867d7037e
commit
35e75e86b4
5
debug.pl
5
debug.pl
@ -1,5 +1,10 @@
|
||||
% hier kommt so debug mäßiges zeugs hin
|
||||
|
||||
debug_init :-
|
||||
init_player1(infantry,infantry,infantry),
|
||||
init_player2(infantry,infantry,infantry),
|
||||
init_feld1.
|
||||
|
||||
print_info(Type,X,Y,HP) :-
|
||||
write("-------"),nl,
|
||||
write("Type: "),
|
||||
|
17
logik.pl
17
logik.pl
@ -9,6 +9,12 @@
|
||||
assert( turn_action_points(1, 0) ),
|
||||
assert( turn_action_points(2, 0) ).
|
||||
|
||||
% Verhindern von "Unknown procedure" in last_turn
|
||||
:-
|
||||
assert( player_turn(1, -1, 0) ),
|
||||
assert( player_turn(1, 0, 0) ),
|
||||
assert( player_turn(2, -1, 0) ),
|
||||
assert( player_turn(2, 0, 0) ).
|
||||
|
||||
% Verändern der Player Tokens hierüber
|
||||
change_player_tokens(TokensNew) :-
|
||||
@ -43,6 +49,9 @@ einheit_move(Xold, Yold, Xnew, Ynew) :-
|
||||
% Den aktuellen Spieler abfragen
|
||||
current_player(Player),
|
||||
|
||||
% Es darf keine Einheit auf dem Zielfeld bereits vorhanden sein
|
||||
\+ einheit_active(_, _, Xnew, Ynew, _),
|
||||
|
||||
% Errechnen der verbleibenden Tokens
|
||||
betrag(Xold - Xnew, Xmove),
|
||||
betrag(Yold - Ynew, Ymove),
|
||||
@ -55,9 +64,6 @@ einheit_move(Xold, Yold, Xnew, Ynew) :-
|
||||
% Falls der Spieler nicht genug Tokens hat wird das hier false
|
||||
change_player_tokens(TokensNew),
|
||||
|
||||
% Es darf keine Einheit auf dem Zielfeld bereits vorhanden sein
|
||||
\+ einheit_active(_, _, Xnew, Ynew, _),
|
||||
|
||||
% Die Einheitv on der alten Position nehmen
|
||||
retract( einheit_active(Player, Type, Xold, Yold, Defense) ),
|
||||
|
||||
@ -109,7 +115,7 @@ einheit_action(Xold, Yold, Xnew, Ynew) :-
|
||||
einheit_attack(Xold, Yold, Xnew, Ynew)
|
||||
),
|
||||
|
||||
end_turn.
|
||||
end_turn,!.
|
||||
|
||||
|
||||
einheit_alive(AP, HP, HPnew, HPmult) :-
|
||||
@ -202,6 +208,9 @@ last_turn(Turn) :-
|
||||
findall(X, player_turn(Player,_,X), Turns),
|
||||
max_member(Turn, Turns).
|
||||
|
||||
last_turn(Turn) :-
|
||||
Turn is 0.
|
||||
|
||||
|
||||
% der shizz hier ist nicht getestet, sollte aber funzen
|
||||
% Berechnet die Summe aus Tokens des aktuellen und vergangenen Zuges
|
||||
|
Loading…
x
Reference in New Issue
Block a user