| Class TMonstergroup (unit Gameform) |
TObject
probablity distribution for bonuses
| Constructors |
constructor create(hor_flag:boolean; posx,posy,spacing,xmx,xmn,ymx,ymn:integer);| Functions |
function are_any_exploding : boolean;
destructor destroy;
procedure draw;
procedure force_redraw;
function is_hit_left(bullet:Tbullet) : integer;
function is_hit_right(bullet:Tbullet) : integer;
function is_hit_top(bullet:Tbullet ) : integer;
function movegroup : boolean;
procedure reset_original_state(sheet:integer);
procedure Sendmonstershome;| Properties |
| Events |
| Variables |
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;| Constructors |
constructor create(hor_flag:boolean; posx,posy,spacing,xmx,xmn,ymx,ymn:integer);---------------------------------------------------------------------------- } { Monster Group } { ----------------------------------------------------------------------------
| Functions |
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
| Properties |
| Events |
| Variables |
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;