Class TMonstergroup (unit Gameform) |
Inherits from
TObject
probablity distribution for bonuses
constructor create(hor_flag:boolean; posx,posy,spacing,xmx,xmn,ymx,ymn:integer);
- ---------------------------------------------------------------------------- } { Monster Group } { ----------------------------------------------------------------------------
function are_any_exploding : boolean;
^ shift the monsters into correct order
destructor destroy;
procedure draw;
procedure force_redraw;
function is_hit_left(bullet:Tbullet) : integer;
save checking time, by doing left, right, top monsters in sub, checks
after all, a bullet going up, can't really hit a left monster etc etc etc
function is_hit_right(bullet:Tbullet) : integer;
function is_hit_top(bullet:Tbullet ) : integer;
function movegroup : boolean;
the monsters are always stored in the d_o [ draworder ] array, in left right
or top down position, means we can check a bullet with the leftmost, and if it
is left of the monster ignore all the others.
procedure reset_original_state(sheet:integer);
procedure Sendmonstershome;
this is really badly bodged, but I couldn't be arsed doing it any better.
draworder : array[0..monsters_per_sidem1] of integer;
empty1st : integer;
horizontal : boolean;
monsters : array[0..monsters_per_side] of TMonster;
setupgap : integer;
xh : integer;
xl : integer;
xpos : integer;
yh : integer;
yl : integer;
ypos : integer;
constructor create(hor_flag:boolean; posx,posy,spacing,xmx,xmn,ymx,ymn:integer);
---------------------------------------------------------------------------- } { Monster Group } { ----------------------------------------------------------------------------
function are_any_exploding : boolean;
^ shift the monsters into correct order
destructor destroy;
procedure draw;
procedure force_redraw;
function is_hit_left(bullet:Tbullet) : integer;
save checking time, by doing left, right, top monsters in sub, checks
after all, a bullet going up, can't really hit a left monster etc etc etc
function is_hit_right(bullet:Tbullet) : integer;
function is_hit_top(bullet:Tbullet ) : integer;
function movegroup : boolean;
the monsters are always stored in the d_o [ draworder ] array, in left right
or top down position, means we can check a bullet with the leftmost, and if it
is left of the monster ignore all the others. same with topmost. when monsters
die the d_o list is shuffled and new monsters appear in the left again (or top).
The list is stored in monsters[...] and d_o is the index - correction.
procedure reset_original_state(sheet:integer);
procedure Sendmonstershome;
this is really badly bodged, but I couldn't be arsed doing it any better.
just ran out of ideas here - sorry
draworder : array[0..monsters_per_sidem1] of integer;
empty1st : integer;
horizontal : boolean;
monsters : array[0..monsters_per_side] of TMonster;
setupgap : integer;
xh : integer;
xl : integer;
xpos : integer;
yh : integer;
yl : integer;
ypos : integer;