Frame 1
_consts = new Object();
_consts.FIELDLEFT = 10;
_consts.FIELDRIGHT = 410;
_consts.FIELDTOP = 10;
_consts.FIELDBOTTOM = 410;
_consts.GRAVITATION = 10;
_consts.SHIFTSIZE = 10;
_consts.SCROLLSTEP = 10;
_consts.ROTATIONSTEP = 10;
_consts.BAZEFLYSPEED = 60;
_consts.BASKETCOUNT = 3;
_consts.BASKETYSPACE = 140;
_consts.VARSPEEDCOUNT = 30;
_consts.BIRDY = 50;
_consts.BIRDSPEED = 5;
_consts.BIRDPROBABITY = 0.007;
_consts.AGGPROBABITY = 0.01;
_consts.SHITPROBABITY = 0.03;
_baskettypes = new Array([0, 0, 10, 410, 0, 0, 0, 5], [10, 0, 10, 410, 0, 0, 0, 10], [15, 0, 10, 410, 0, 0, 0, 15], [0, 10, 10, 410, 0, 100, 0, 10], [10, 10, 10, 410, 0, 100, 0, 20], [10, 0, 10, 210, 0, 0, 0, 20], [10, 0, 110, 310, 0, 0, 0, 20], [10, 0, 210, 410, 0, 0, 0, 20], [20, 20, 10, 410, 0, 100, 0, 30], [10, 0, 10, 410, 0, 0, 1, 25], [20, 0, 10, 410, 0, 0, 1, 25], [10, 10, 10, 410, 0, 100, 1, 20]);
_basketquaue = new Array(1, 0, 1, 1, 0, 2, 1, 1, 2, 1, 2, 2, 1, 3, 1, 2, 0, 3, 1, 4, 1, 0, 2, 4, 3, 4, 4, 1, 2, 7, 1, 9, 1, 2, 9, 2, 10, 1, 11, 1, 11, 10, 2, 5, 2, 6, 4, 8, 1, 11, 2, 9, 9, 9, 7, 2, 5, 11, 11, 11);
stop();
Frame 2
function ShowScore(ascore, abonus) {
lb_score_mc.lb_score_val = ascore;
if (abonus > 1) {
lb_score_mc.lb_score_val = (lb_score_mc.lb_score_val + " * ") + abonus;
}
lb_score_mc._x = agg_lo._x;
lb_score_mc._y = agg_lo._y;
lb_score_mc.gotoAndPlay(2);
}
function SetLives(acount) {
var _local1 = acount;
i = 0;
while (i < lives) {
ia = "id_agg" add i;
if (ia != eval("NULL")) {
removeMovieClip(ia);
}
i++;
}
lives = _local1;
i = 0;
while (i < _local1) {
ia = "id_agg" add i;
duplicateMovieClip ("id_agg", ia, i);
setProperty(ia, _x , 280 + (i * 17));
i++;
}
}
function SetScore(ascore) {
score = ascore;
score_d = ascore;
}
function InitBasket(abasket, ay, adx, ady, aminx, amaxx, aminy, amaxy, aprice) {
var _local1 = abasket;
_local1._dx = adx;
_local1._dy = ady;
_local1._minx = aminx;
_local1._maxx = amaxx;
_local1._miny = aminy;
_local1._maxy = amaxy;
_local1._price = aprice;
_local1._fastcounter = Math.floor(Math.random() * _consts.VARSPEEDCOUNT);
_local1._varspeed = false;
_local1._x = _local1._minx + Math.floor(Math.random() * ((_local1._maxx - _local1._minx) - _local1._width));
_local1._ybase = ay;
_local1._ydspl = Math.floor(Math.random() * (_local1.maxx - _local1._minx));
_local1._y = _local1._ybase + _local1._ydspl;
_local1._shiftord = 1;
}
function InitNextBasket(abasket) {
var _local1 = abasket;
type = _basketquaue[cindex];
_local1._dx = _baskettypes[type][0];
_local1._dy = _baskettypes[type][1];
_local1._minx = _baskettypes[type][2];
_local1._maxx = _baskettypes[type][3];
_local1._miny = _baskettypes[type][4];
_local1._maxy = _baskettypes[type][5];
_local1._price = _baskettypes[type][7];
if (_baskettypes[type][6] == 0) {
_local1._varspeed = false;
_local1._fastcounter = 0;
} else {
_local1._varspeed = true;
_local1._fastcounter = _consts.VARSPEEDCOUNT;
}
_local1._x = _local1._minx + Math.floor(Math.random() * ((_local1._maxx - _local1._minx) - _local1._width));
_local1._ybase = (baskets[0]._ybase - _consts.BASKETYSPACE) - (baskets[0]._maxy - baskets[0]._miny);
_local1._ydspl = _local1._miny + Math.floor(Math.random() * ((_local1._maxy - _local1._miny) - _local1._height));
_local1._y = _local1._ybase - _local1._ydspl;
_local1._shiftord = 1;
cindex++;
if (cindex >= _basketquaue.length) {
cindex = 0;
}
}
function MoveBasket(abasket) {
var _local1 = abasket;
xdelta = _local1._dx;
if (_local1._varspeed) {
_local1._fastcounter--;
if (_local1._fastcounter == (-_consts.VARSPEEDCOUNT)) {
_local1._fastcounter = _consts.VARSPEEDCOUNT;
}
if (_local1._fastcounter < 0) {
xdelta = xdelta * 2;
}
}
if (((_local1._x + xdelta) < _local1._minx) || (((_local1._x + xdelta) + _local1._width) > _local1._maxx)) {
_local1._dx = -_local1._dx;
xdelta = -xdelta;
_local1._shiftord = -_local1._shiftord;
}
_local1._x = _local1._x + xdelta;
if ((Key.isDown(key.space) && (_local1 == baskets[2])) && (!aggfly)) {
if (((_local1._dx <= 0) && ((_local1._x - _consts.SHIFTSIZE) <= _local1._minx)) || ((_local1._dx >= 0) && (((_local1._x + _root._consts.SHIFTSIZE) + _local1._width) >= _local1._maxx))) {
_local1._dx = -_local1._dx;
_local1._shiftord = -_local1._shiftord;
}
_local1._x = _local1._x + (_root._consts.SHIFTSIZE * _local1._shiftord);
}
if (((_local1._ydspl - _local1._dy) < _local1._miny) || ((_local1._ydspl - _local1._dy) > _local1._maxy)) {
_local1._dy = -_local1._dy;
}
_local1._ydspl = _local1._ydspl - _local1._dy;
_local1._y = _local1._ybase - _local1._ydspl;
if ((_local1 == baskets[2]) && (!aggisfly)) {
agg_lo._x = _local1._x + (_local1._width / 2);
agg_lo._y = _local1._y;
}
}
function AssignBasket(atarget, asource) {
var _local1 = asource;
var _local2 = atarget;
_local2._x = _local1._x;
_local2._dx = _local1._dx;
_local2._y = _local1._y;
_local2._dy = _local1._dy;
_local2._minx = _local1._minx;
_local2._maxx = _local1._maxx;
_local2._miny = _local1._miny;
_local2._maxy = _local1._maxy;
_local2._price = _local1._price;
_local2._ybase = _local1._ybase;
_local2._ydspl = _local1._ydspl;
_local2._shiftord = _local1._shiftord;
_local2._varspeed = _local1._varspeed;
_local2._fastcounter = _local1._fastcounter;
}
function EndScroll() {
var _local1 = _root;
_local1.AssignBasket(_local1.baskets[2], _local1.baskets[1]);
_local1.AssignBasket(_local1.baskets[1], _local1.baskets[0]);
_local1.AssignBasket(_local1.baskets[0], _local1.baskettmp);
_local1.baskettmp._y = _local1._consts.FIELDBOTTOM + 20;
_local1.isscroll = false;
}
function ScrollStep() {
var _local1 = _root;
i = 0;
while (i < 3) {
_local1.baskets[i]._ybase = _local1.baskets[i]._ybase + _local1._consts.SCROLLSTEP;
_local1.baskets[i]._y = _local1.baskets[i]._ybase - _local1.baskets[i]._ydspl;
i++;
}
_local1.baskettmp._ybase = _local1.baskettmp._ybase + _local1._consts.SCROLLSTEP;
_local1.baskettmp._y = _local1.baskettmp._ybase - _local1.baskettmp._ydspl;
agg_lo._x = baskets[1]._x + (baskets[1]._width / 2);
agg_lo._y = baskets[1]._y;
_local1.scrollps = _local1.scrollps + _local1._consts.SCROLLSTEP;
if (baskets[1]._ybase >= ((_consts.FIELDBOTTOM - 40) - baskets[1]._height)) {
_local1.EndScroll();
}
i = 0;
while (i < cloads.length) {
cloads[i]._y = cloads[i]._y + _consts.SCROLLSTEP;
if (cloads[i]._y > (_consts.FIELDBOTTOM + cloads[i]._height)) {
cloads[i]._y = _consts.FIELDTOP - cloads[i]._height;
}
i++;
}
bird._y = bird._y + _consts.SCROLLSTEP;
}
function BeginScroll() {
var _local1 = _root;
InitNextBasket(baskettmp);
_local1.scrollps = 0;
_local1.isscroll = true;
_local1.ScrollStep();
}
function EndFly(abasket) {
var _local1 = abasket;
aggisfly = false;
agg_lo._x = _local1._x + (_local1._width / 2);
agg_lo._y = _local1._y;
ShowScore(_local1._price, bonus);
SetScore(score + (_local1._price * bonus));
bonus++;
BeginScroll();
}
function GameOver() {
frm_loose._x = 30;
gameisover = true;
if (score > hiscore) {
frm_loose.lb_hiscore_val = ("\u0422\u044B \u043A\u0440\u0443\u0447\u0435 \u0432\u0441\u0435\u0445! " + score) + " \u043E\u0447\u043A\u043E\u0432";
hiscore = score;
} else {
frm_loose.lb_hiscore_val = ("\u041B\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 - " + hiscore) + " \u043E\u0447\u043A\u043E\u0432";
}
}
function AggLost() {
aggisfly = false;
SetLives(lives - 1);
bonus = 1;
info_broken._x = agg_lo._x;
info_broken.gotoAndPlay(2);
if (lives < 0) {
GameOver();
} else {
agg_lo._x = baskets[2]._x + (baskets[2]._width / 2);
agg_lo._y = baskets[2]._y;
}
}
function FlyStep() {
var _local1 = _root;
agg_lo._y = agg_lo._y - agg_lo._flyspeed;
agg_lo._flyspeed = agg_lo._flyspeed - _local1._consts.GRAVITATION;
agg_lo._rotation = agg_lo._rotation + _local1._consts.ROTATIONSTEP;
if ((agg_lo._y - agg_lo._height) > _local1._consts.FIELDBOTTOM) {
AggLost();
} else if (((((agg_lo._flyspeed < 0) && (agg_lo._x > baskets[1]._x)) && (agg_lo._x < (baskets[1]._x + baskets[1]._width))) && (agg_lo._y > (baskets[1]._y + agg_lo._flyspeed))) && (agg_lo._y < (baskets[1]._y + baskets[1]._height))) {
EndFly(baskets[1]);
}
}
function BeginFly() {
aggisfly = true;
agg_lo._flyspeed = _root._consts.BAZEFLYSPEED;
FlyStep();
}
function TryInitBird() {
if ((Math.random() < _consts.BIRDPROBABITY) && (!gameisover)) {
birdisfly = true;
bird._x = _consts.FIELDRIGHT + bird._width;
bird._y = _consts.BIRDY;
}
}
function BirdStep() {
bird._x = bird._x - _consts.BIRDSPEED;
if (bird._x < (_consts.FIELDLEFT - bird._width)) {
birdisfly = false;
} else {
if ((((Math.random() < _consts.AGGPROBABITY) && (!birdaggisfly)) && (!aggisfly)) && (bird._y < (((_consts.FIELDBOTTOM - _consts.FIELDTOP) / 2) - _consts.FIELDTOP))) {
birdaggisfly = true;
birdagg._x = bird._x + 40;
birdagg._y = bird._y + 40;
birdagg._speed = 0;
}
if ((((Math.random() < _consts.SHITPROBABITY) && (!birdshitisfly)) && (!aggisfly)) && (bird._y < (((_consts.FIELDBOTTOM - _consts.FIELDTOP) / 2) - _consts.FIELDTOP))) {
birdshitisfly = true;
birdshit._x = bird._x + 40;
birdshit._y = bird._y + 40;
birdshit._speed = 0;
}
}
}
function BirdAggStep() {
birdagg._rotation = birdagg._rotation + 5;
birdagg._speed = birdagg._speed + (_consts.GRAVITATION / 6);
birdagg._y = birdagg._y + birdagg._speed;
if (birdagg._y > (_consts.FIELDBOTTOM + birdagg.Height)) {
birdagg._x = -20;
birdagg._y = -20;
birdaggisfly = false;
} else if ((((birdagg._x > baskets[2]._x) && (birdagg._x < (baskets[2]._x + baskets[2]._width))) && (birdagg._y > (baskets[2]._y + birdagg._flyspeed))) && (birdagg._y < (baskets[2]._y + baskets[2]._height))) {
birdagg._x = -20;
birdagg._y = -20;
birdaggisfly = false;
if (lives < 8) {
SetLives(lives + 1);
lb_lives_mc.coloragg.gotoAndStop(2);
lb_lives_mc._x = baskets[2]._x + (baskets[2]._width / 2);
lb_lives_mc._y = baskets[2]._y - 20;
lb_lives_mc.gotoAndPlay(2);
}
}
}
function BirdShitStep() {
birdshit._speed = birdshit._speed + (_consts.GRAVITATION / 6);
birdshit._y = birdshit._y + birdshit._speed;
if (birdshit._y > (_consts.FIELDBOTTOM + birdshit.Height)) {
birdshit._x = -20;
birdshit._y = -20;
birdshitisfly = false;
} else if ((((birdshit._x > baskets[2]._x) && (birdshit._x < (baskets[2]._x + baskets[2]._width))) && (birdshit._y > (baskets[2]._y + birdshit._flyspeed))) && (birdshit._y < (baskets[2]._y + baskets[2]._height))) {
birdshit._x = -20;
birdshit._y = -20;
birdshitisfly = false;
SetLives(lives - 1);
lb_lives_mc.coloragg.gotoAndStop(1);
lb_lives_mc._x = baskets[2]._x + (baskets[2]._width / 2);
lb_lives_mc._y = baskets[2]._y - 20;
lb_lives_mc.gotoAndPlay(2);
if (lives < 0) {
GameOver();
}
}
}
function InitScene() {
var _local1 = _root;
_local1.baskets = new Array(3);
_local1.baskets[0] = basket1;
_local1.baskets[1] = basket2;
_local1.baskets[2] = basket3;
_local1.isscroll = false;
_local1.scrollps = 0;
SetLives(8);
cindex = 0;
SetScore(0);
bonus = 1;
gameisover = false;
InitBasket(basket1, 60, 10, 0, _local1._consts.FIELDLEFT, _local1._consts.FIELDRIGHT, 0, 0, 10);
InitBasket(basket2, 200, 15, 0, _local1._consts.FIELDLEFT, _local1._consts.FIELDRIGHT, 0, 0, 15);
InitBasket(basket3, 340, -10, 0, _local1._consts.FIELDLEFT, _local1._consts.FIELDRIGHT, 0, 0, 10);
agg_lo._x = baskets[2]._x + (baskets[2]._width / 2);
agg_lo._y = baskets[2]._y;
aggisfly = false;
cloads = new Array(cload_1, cload_2, cload_3, cload_4, cload_5);
birdisfly = false;
birdaggisfly = false;
birdshitfly = false;
}
InitScene();
Instance of Symbol 29 MovieClip "actions" in Frame 2
onClipEvent (enterFrame) {
if (_root.isscroll) {
_root.ScrollStep();
} else {
i = 0;
while (i < _root._consts.BASKETCOUNT) {
_root.MoveBasket(_root.baskets[i]);
i++;
}
if (_root.aggisfly) {
_root.FlyStep();
} else if (Key.isDown(key.up) && (!_root.gameisover)) {
_root.BeginFly();
}
}
if (_root.birdisfly) {
_root.BirdStep();
} else {
_root.TryInitBird();
}
if (_root.birdaggisfly) {
_root.BirdAggStep();
}
if (_root.birdshitisfly) {
_root.BirdShitStep();
}
}
Symbol 3 MovieClip [TBasket] Frame 1
function Init(ax, ay, adx, ady) {
_x = ax;
_y = ay;
_dx = adx;
_dy = ady;
}
function Move(Shift) {
var _local1 = _root;
if (((_x + _dx) < _local1._consts.FIELDLEFT) || ((_x + _dx) > _local1._consts.FIELDRIGHT)) {
_dx = -dx;
}
_x = (_x + _dx);
if (((_x + _local1._consts.SHIFTSIZE) < _local1._consts.FIELDLEFT) || ((_x + _local1._consts.SHIFTSIZE) > _local1._consts.FIELDRIGHT)) {
_dx = -dx;
}
if (_dx > 0) {
_x = (_x + _local1._consts.SHIFTSIZE);
} else {
_x = (_x - _local1._consts.SHIFTSIZE);
}
if (((_y + _dy) < _local1._consts.FIELDTOP) || ((_y + _dy) > _local1._consts.FIELDBOTTOM)) {
_dy = -dy;
}
_y = (_y + _dy);
}
Instance of Symbol 2 MovieClip in Symbol 3 MovieClip [TBasket] Frame 1
onClipEvent (enterFrame) {
}
Symbol 25 Button
on (release) {
gotoAndStop (2);
}
Symbol 32 MovieClip Frame 1
stop();
Symbol 32 MovieClip Frame 20
_root.lb_score_mc._x = -50;
_root.lb_score_mc._y = -50;
Symbol 36 Button
on (release) {
_root.gotoAndPlay(1);
}
Symbol 43 MovieClip Frame 15
gotoAndPlay (1);
Symbol 47 MovieClip Frame 1
stop();
Symbol 52 MovieClip Frame 1
stop();
Symbol 52 MovieClip Frame 20
_root.lb_lives_mc._x = -50;
_root.lb_lives_mc._y = -50;