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
|
% 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) :-
|
print_info(Type,X,Y,HP) :-
|
||||||
write("-------"),nl,
|
write("-------"),nl,
|
||||||
write("Type: "),
|
write("Type: "),
|
||||||
|
19
logik.pl
19
logik.pl
@ -9,6 +9,12 @@
|
|||||||
assert( turn_action_points(1, 0) ),
|
assert( turn_action_points(1, 0) ),
|
||||||
assert( turn_action_points(2, 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
|
% Verändern der Player Tokens hierüber
|
||||||
change_player_tokens(TokensNew) :-
|
change_player_tokens(TokensNew) :-
|
||||||
@ -43,6 +49,9 @@ einheit_move(Xold, Yold, Xnew, Ynew) :-
|
|||||||
% Den aktuellen Spieler abfragen
|
% Den aktuellen Spieler abfragen
|
||||||
current_player(Player),
|
current_player(Player),
|
||||||
|
|
||||||
|
% Es darf keine Einheit auf dem Zielfeld bereits vorhanden sein
|
||||||
|
\+ einheit_active(_, _, Xnew, Ynew, _),
|
||||||
|
|
||||||
% Errechnen der verbleibenden Tokens
|
% Errechnen der verbleibenden Tokens
|
||||||
betrag(Xold - Xnew, Xmove),
|
betrag(Xold - Xnew, Xmove),
|
||||||
betrag(Yold - Ynew, Ymove),
|
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
|
% Falls der Spieler nicht genug Tokens hat wird das hier false
|
||||||
change_player_tokens(TokensNew),
|
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
|
% Die Einheitv on der alten Position nehmen
|
||||||
retract( einheit_active(Player, Type, Xold, Yold, Defense) ),
|
retract( einheit_active(Player, Type, Xold, Yold, Defense) ),
|
||||||
|
|
||||||
@ -108,8 +114,8 @@ einheit_action(Xold, Yold, Xnew, Ynew) :-
|
|||||||
!;
|
!;
|
||||||
einheit_attack(Xold, Yold, Xnew, Ynew)
|
einheit_attack(Xold, Yold, Xnew, Ynew)
|
||||||
),
|
),
|
||||||
|
|
||||||
end_turn.
|
end_turn,!.
|
||||||
|
|
||||||
|
|
||||||
einheit_alive(AP, HP, HPnew, HPmult) :-
|
einheit_alive(AP, HP, HPnew, HPmult) :-
|
||||||
@ -202,6 +208,9 @@ last_turn(Turn) :-
|
|||||||
findall(X, player_turn(Player,_,X), Turns),
|
findall(X, player_turn(Player,_,X), Turns),
|
||||||
max_member(Turn, Turns).
|
max_member(Turn, Turns).
|
||||||
|
|
||||||
|
last_turn(Turn) :-
|
||||||
|
Turn is 0.
|
||||||
|
|
||||||
|
|
||||||
% der shizz hier ist nicht getestet, sollte aber funzen
|
% der shizz hier ist nicht getestet, sollte aber funzen
|
||||||
% Berechnet die Summe aus Tokens des aktuellen und vergangenen Zuges
|
% Berechnet die Summe aus Tokens des aktuellen und vergangenen Zuges
|
||||||
|
Loading…
x
Reference in New Issue
Block a user