Thanks for the reply. Tried it but still no effect, maybe I'm doing something wrong (still learning). Please help me some more :-)
1) Ok, so I added a global constant before implementation:
const
BOMB_DAMAGE = -10;
2)My Player class now looks like this:
Code:
//This is the player class
TPlayer = class(TImageSprite)
private
FShields : Integer;
FCounter: Integer;
FMode: Integer;
FTamaCount: Integer;
FOldTamaTime: Integer;
public
procedure UpdateShields(amount : integer);
procedure DoMove(MoveCount: Integer); override;
end;
3)And the 2 procedures looks as follows:
Code:
procedure TBomb.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
If (Sprite is TPlayer) Then
begin
(Sprite as TPlayer).UpdateShields(Bomb_Damage);
Sprite.Collisioned := False;
Sprite.Dead;
Dead;
Done := False;
end;
end;
procedure TPlayer.UpdateShields(amount : integer);
begin
Inc(self.fShields,amount);
if self.FShields < 0 then
self.Dead;
end;
Bookmarks