move_einheit implementiert
This commit is contained in:
parent
4ee16dcf06
commit
a136b99ea2
13
daten.pl
13
daten.pl
@ -58,20 +58,25 @@ init_feld1 :-
|
||||
% Setzt das Spielfeld sowie die zugewiesenen einheiten zurück
|
||||
reset_game :-
|
||||
retractall( feld(_,_,_) ),
|
||||
retractall( einheit_active(_,_,_,_) ).
|
||||
retractall( einheit_active(_,_,_,_) ),
|
||||
retractall( player_tokens(_,_) ).
|
||||
|
||||
|
||||
% Initialisiert die Einheiten für die jeweiligen Spieler
|
||||
init_player(Player, Type1, Type2, Type3) :-
|
||||
% der shabang ist hier damit die einheiten jeweils in den ecken spawnen
|
||||
% der shabang ist hier damit die einheiten jeweils in den
|
||||
% richtigen ecken spawnen
|
||||
playerStart(Player, X, Y),
|
||||
Xp1 is X + 1,
|
||||
Xp2 is X + 2,
|
||||
|
||||
Yp1 is Y + 1,
|
||||
Yp2 is Y + 2,
|
||||
|
||||
% einheit_active(Player, Einheit Type, feldX, feldY)
|
||||
assert( einheit_active(Player,Type1,Xp1,Yp1) ),
|
||||
assert( einheit_active(Player,Type2,Xp1,Y ) ),
|
||||
assert( enemy_active(Player,Type3,X ,Yp1) ),
|
||||
assert( einheit_active(Player,Type2,Xp2,Yp1) ),
|
||||
assert( einheit_active(Player,Type3,Xp1,Yp2) ),
|
||||
|
||||
% Berechnet die zustehenden Tokens pro Runde für den Spieler
|
||||
einheit(Type1, _,_,_, Cost1),
|
||||
|
18
logik.pl
18
logik.pl
@ -5,7 +5,7 @@
|
||||
player_turn(Player) :-
|
||||
|
||||
% calculate action points
|
||||
calc_action_points(Player, Turncounter)
|
||||
calc_action_points(Player, Turncounter),
|
||||
|
||||
|
||||
% further logic
|
||||
@ -14,4 +14,18 @@ player_turn(Player) :-
|
||||
|
||||
|
||||
% save remaining ap
|
||||
save_action_points(Player)
|
||||
save_action_points(Player).
|
||||
|
||||
|
||||
% Bewegt die Einheit des Spielers an position Xold, Yold
|
||||
% um Xmove, Ymove in die jeweilige Richtung
|
||||
move_einheit(Player, Xold, Yold, Xmove, Ymove) :-
|
||||
% 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) ).
|
Loading…
x
Reference in New Issue
Block a user