Frame 1
function init() {
FPS = 15;
PLAYSOUND = true;
GAME_DEPTH = 100;
MSG_DEPTH = 3000;
MSG_COUNT = 100;
msg_curcount = 0;
fld_Width = 18;
fld_Height = 18;
scr_Offset = 7.5;
scr_Width = 360;
scr_Height = 360;
cell_Size = scr_Width / fld_Width;
good_Speed = cell_Size / 2;
good_JXSpeed = good_Speed * 0.3;
good_JParam = 0.55;
good_YSpeed = cell_Size / 2;
good_Takeoff_time = 4;
good_Max_Life = 5;
frames_to_finish_level = 12;
bad_hi_Speed = good_Speed;
bad_lo_Speed = good_Speed / 2;
bad_Speed = bad_hi_Speed;
bad_ChangeDirTime = ((3 * cell_Size) / bad_Speed) + 2;
points_PerGold = 25;
points_PerLevel = 100;
max_BadCount = 10;
max_GoldCount = 20;
LevelCount = 10;
Levels = new Array(new Array("22222222222222222222", "20000000000005000502", "20000000000222200212", "22200002222000000012", "20012220000022222212", "20010000000000000012", "20010000000000000012", "20010000000000000012", "22222100000222122222", "25000100000000100002", "22100100000000100002", "20100100000000100002", "21222200050000100002", "21000000222122222102", "21000000000100000102", "21000000000105000152", "21501222222222000122", "22221000000000000102", "25001000000000000102", "22222222222222222222", 2, 2), new Array("22222222222222222222", "20000000000000005002", "20122222212222222002", "20100000010000000052", "25100000010000000222", "22200122222221000002", "20000100050001000002", "20050100212001050002", "21222220010022222102", "21000000010000000102", "21000000010000000102", "21000000010000000102", "21222222222222122202", "21000000000000100002", "21000000005000100002", "21000001222200100002", "21000001500022222052", "21000001000000000022", "22200001000000500222", "22222222222222222222", 4, 10), new Array("22222222222222222222", "20000000000005000002", "20022222001222120052", "20000000001000100022", "20000000001000100102", "20000005001000102102", "20001222222200120102", "20001000000000200102", "20001000000002000102", "20001000000520000102", "20501000000200000102", "20222220002000500102", "20000000020001222202", "20000000100001000002", "20000002100001000002", "20000520100001000002", "20000200112222221002", "20002000010000001002", "25025000010050001002", "22222222222222222222", 1, 5), new Array("22222222222222222222", "20000000000000020002", "25000000500000200002", "22221222222001000002", "20001000000021000002", "20001050000201000002", "20122222122001000022", "20150000120001000202", "20120000100001002002", "20100002100001520002", "20210020100001200002", "20015200100001000002", "20012000100021005002", "20520000100222222212", "20200000152000000012", "22000000120000000012", "20000000105000122222", "20000012222200100002", "20050010000000100502", "22222222222222222222", 2, 3), new Array("22222222222222222222", "20000000000000000002", "20000050000050000002", "20000022212220000002", "20000000010000000002", "20000000010000000002", "20000012222210000002", "20050010020010000002", "22122222225010000502", "20100000022222212222", "20100000020000010002", "22222212220000010002", "20000010020000010502", "20000010022122222222", "20500010020100000002", "22221222225100000002", "20001000022222222122", "20001000020000000102", "20501000020500000102", "22222222222222222222", 18, 7), new Array("22222222222222222222", "20005000000000500002", "21222222202222221002", "21000000500000001002", "21012222222221001002", "21010000000001001152", "21010000050001001122", "21010122222101001102", "21010100000101001002", "21510100500101001002", "21210102222101001502", "21010100005001001202", "21010222222222001002", "21010000000000001002", "21010050000050001002", "21022222212222222002", "21000000010000000002", "21000000010000000002", "21050000010000050002", "22222222222222222222", 9, 7), new Array("22222222222222222222", "22200000010050001222", "22000000012222221022", "22000005010500001022", "20000022212220002102", "20000200510002000102", "20002000215000200102", "25020000512000025102", "22120000210000022102", "20120500010005000102", "25122222212222220102", "22100000510000020212", "20120000215000020012", "20102000012000200012", "25100205010502000012", "21100022212220000012", "21000000015000000012", "22500000012000000522", "22220000510000002222", "22222222222222222222", 9, 7), new Array("22222222222222222222", "20000000000000000002", "20005000021000500002", "21222222022122222212", "21000000000100000012", "21500000000100000512", "21200500000100000212", "21002222222200000012", "21000000000000000012", "21000000000000000012", "21000050000005000012", "21222222212222222212", "21000000010000000512", "21500000010000000212", "21200050010050000012", "21000122222221000512", "21500100000001000212", "21200100000001000012", "21000100500001050012", "22222222222222222222", 2, 1), new Array("22222222222222222222", "20000000000000000002", "20000000000000000002", "20005022221222500002", "20002200001000221002", "20002000001000021002", "20520000001000002052", "21200000012000000222", "21000000210200000002", "21000002010020000002", "21000520010002500002", "21000222222122210002", "21000000000100010502", "22220000000100012222", "20200000000100010202", "20020000000100012002", "20001000000100010002", "20001210000101210002", "20501020500102010052", "22222222222222222222", 10, 10), new Array("22222222222222222222", "20000005250000000252", "25000012221000000012", "22210010501000000122", "20012222221000000102", "20010000001000500102", "20010500002122222102", "20022221000100000102", "20000001500100000152", "20000002212200000122", "20000000010000000002", "20000000010050000002", "22000000012222120522", "22250210510000100222", "20220012220000102202", "20022010000000101002", "20002015000000221002", "20000012000002201002", "20500010005002001052", "22222222222222222222", 18, 5));
IPoints = new TIndicator(5, 456, 15, 10);
ILifes = new TIndicator(1, 496, 40, 20);
ILevel = new TIndicator(2, 486, 65, 30);
Game = new TGame();
if (MAKE_DEMO == true) {
Game.NewGame();
} else {
Game.StartDemo();
}
}
function TIndicator(digitcount, pos_x, pos_y, Depth) {
this.DigitCount = digitcount;
var x;
var y;
x = pos_x - ((digitcount * DIGITSIZE) / 2);
y = pos_y + (DIGITSIZE / 2);
this.Digits = new Array(digitcount);
var i = 0;
while (i < digitcount) {
attachMovie("Digit", ("Dgt" + Depth) + i, Depth + i);
this.Digits[i] = eval (("Dgt" + Depth) + i);
this.Digits[i]._width = (this.Digits[i]._height = DIGITSIZE);
this.Digits[i]._x = x;
this.Digits[i]._y = y;
this.Digits[i].stop();
x = x + DIGITSIZE;
i++;
}
this.SetValue(0);
}
function TMessage(r, c, caption) {
msg_curcount = (msg_curcount + 1) % MSG_COUNT;
this.depth = MSG_DEPTH + msg_curcount;
attachMovie("msgGetPoint", "game_msg" + this.depth, this.depth);
this.Movie = eval ("game_msg" + this.depth);
this.Movie.msg = caption;
this.Movie._x = scr_Offset + (cell_Size * (c - 1));
this.Movie._y = scr_Offset + (cell_Size * (r - 1));
this.Movie.play();
this.depth = depth;
this.Movie.obj = this;
}
function TGame() {
this.DemoAr = new Array(new Array("********************", "********************", "********************", "********************", "********************", "********************", "********************", "**************g*****", "********************", "********************", "********************", "********************", "***********g*g******", "********************", "********************", "*********g**********", "**g*****************", "********************", "********************", "********************"), new Array("b", "l", 8.33333333333333, 12, 12), new Array("b", "r", 8.33333333333333, 3, 13), new Array("b", "l", 8.33333333333333, 7, 14), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("g", "F", false), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("g", "F", false), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "r"), new Array("g", "F", false), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("g", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("g", "M"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "u"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "d"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "J", "r"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("g", "F", true), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("b", "M", "l"), new Array("g", "M"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("g", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "r"), new Array("g", "M", "u"), new Array("b", "M", "r"), new Array("b", "M", "d"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"), new Array("b", "M", "r"), new Array("b", "M", "l"), new Array("b", "M", "r"), new Array("g", "M"));
this.pbState = "idle";
this.frame = 0;
this.sndKill = new Sound();
this.sndKill.attachSound("sndKill");
this.sndClick = new Sound();
this.sndClick.attachSound("sndClick");
this.sndGameOver = new Sound();
this.sndGameOver.attachSound("sndGameOver");
this.sndJump = new Sound();
this.sndJump.attachSound("sndJump");
this.sndNextLevel = new Sound();
this.sndNextLevel.attachSound("sndNextLevel");
this.sndTakeGold = new Sound();
this.sndTakeGold.attachSound("sndTakeGold");
}
function TGood(r, c, depth) {
attachMovie("mvGood", "goody", depth);
this.Movie = goody;
this.depth = depth;
this.row = r;
this.col = c;
this.jparam = good_JParam;
this.Movie._yscale = 35;
this.Movie._xscale = 25;
this.mwidth = this.Movie._width;
this.mheight = this.Movie._height;
this.Movie.gotoAndStop("Face");
this.Tromb("d");
this.Tromb("r");
if (!Game.GAMOVER) {
attachMovie("msgPosition", "msgpos", MSG_DEPTH);
this.msg = msgpos;
this.msg._xscale = this.Movie._xscale;
this.msg._yscale = this.Movie._yscale;
this.msg._x = this.Movie._x;
this.msg._y = this.Movie._y;
}
this.State = "active";
}
function TBad(r, c, depth) {
attachMovie("mvBad", "bad" + depth, depth);
this.Movie = eval ("bad" + depth);
this.depth = depth;
this.row = r;
this.col = c;
this.Movie._yscale = 35;
this.Movie._xscale = 25;
var ds = (bad_Speed / 3);
this.speed = (bad_Speed + random(ds)) - (ds / 2);
this.mwidth = this.Movie._width;
this.mheight = this.Movie._height;
this.Tromb("d");
this.Tromb("r");
if (!Game.IsDemo) {
this.ChangeDir(((50 < random(100)) ? "l" : "r"));
}
if (MAKE_DEMO != undefined) {
}
this.State = "active";
}
DIGITSIZE = 19;
TIndicator.prototype.SetValue = function (Value) {
var i = (this.DigitCount - 1);
while (i >= 0) {
this.Digits[i].gotoAndStop((((Value % 10) == 0) ? 10 : (value % 10)));
Value = Value / 10;
value = int(value);
i--;
}
};
movieClip.prototype.SetCheck = function (v) {
this.Checked = v;
if (v) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
_parent.PLAYSOUND = v;
};
TGame.prototype.NewGame = function () {
this.GAMOVER = false;
this.pbState = "idle";
if (this.msg != undefined) {
removeMovieClip(this.msg);
this.msg = undefined;
}
if (this.pmsg != undefined) {
removeMovieClip(this.pmsg);
this.pmsg = undefined;
}
this.BadCount = 3;
this.Points = 0;
this.GoodLifes = good_Max_Life;
IPoints.SetValue(this.Points);
ILifes.SetValue(this.GoodLifes);
this.BonusPoints = 1000;
this.LevelNum = -1;
this.acceleration = false;
this.IsDemo = false;
this.pbState = "playing";
this.Locked = false;
this.NextLevel(false);
ILevel.SetValue(this.LevelNum + 1);
};
TGame.prototype.ReloadLevel = function () {
this.LoadLevel(this.LevelNum);
};
TGame.prototype.NextLevel = function (show) {
if (PLAYSOUND) {
this.sndNextLevel.start();
}
this.LevelNum++;
this.GoldCount = 4 + (this.LevelNum / 3);
if (max_GoldCount < this.GoldCount) {
this.GoldCount = max_GoldCount;
}
this.BadCount = 3 + (this.LevelNum / 3);
if (max_BadCount < this.BadCount) {
this.BadCount = max_BadCount;
}
ILevel.SetValue(this.LevelNum + 1);
this.LoadLevel(this.LevelNum);
if (CHECK_FPS) {
if ((max_BadCount / 2) < this.BadCount) {
this.acceleration = true;
bad_Speed = bad_lo_Speed;
} else {
this.acceleration = false;
bad_Speed = bad_hi_Speed;
}
}
};
TGame.prototype.ReleaseLevel = function () {
delete this.Field;
this.Good.Release();
delete this.Good;
var i = 0;
while (i < this.BadGuys.length) {
this.BadGuys[i].Release();
i++;
}
delete this.BadGuys;
};
TGame.prototype.LoadLevel = function (lnum) {
this.ReleaseLevel();
this.Field = new Array();
var d = GAME_DEPTH;
var kk = (Math.floor(lnum / 7) + 1);
_lnum = lnum % LevelCount;
var i = 0;
while (i < (fld_Height + 2)) {
this.Field[i] = new Array();
var j = 0;
while (j < (fld_Width + 2)) {
var jj = ((lnum >= LevelCount) ? ((fld_Width + 1) - j) : (j));
if (!((((i == 0) || (i == (fld_Height + 1))) || (j == 0)) || (j == (fld_Width + 1)))) {
attachMovie("mvCell" + kk, (("Cell" + i) + "_") + j, d++);
this.Field[i][j] = eval ((("Cell" + i) + "_") + j);
this.Field[i][j]._width = (this.Field[i][j]._height = cell_Size);
this.Field[i][j]._x = scr_Offset + (cell_Size * (j - 1));
this.Field[i][j]._y = scr_Offset + (cell_Size * (i - 1));
}
if (Levels[_lnum][i].charAt(jj) == "1") {
this.Field[i][j].gotoAndStop("Ladder");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "ladder";
} else if (Levels[_lnum][i].charAt(jj) == "2") {
this.Field[i][j].gotoAndStop("Block");
this.Field[i][j].traceable = false;
this.Field[i][j].type = "block";
} else {
this.Field[i][j].gotoAndStop("Empty");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "empty";
}
j++;
}
i++;
}
var c = ((lnum >= LevelCount) ? ((fld_Width + 1) - Levels[_lnum][fld_Height + 3]) : (Levels[_lnum][fld_Height + 3]));
this.Good = new TGood(Levels[_lnum][fld_Height + 2], c, d++);
this.FreeDepth = d;
this.pbState = "create actors";
};
TGame.prototype.CreateActors = function () {
var tmp = new Array();
var i = 2;
while (i < fld_Height) {
var j = 2;
while (j < (fld_Width - 1)) {
if (this.CoolPlaceForBad(i, j)) {
tmp.push(new Array(i, j));
}
j++;
}
i++;
}
this.BadGuys = new Array();
var cnt = 0;
while (cnt < this.BadCount) {
delete this.places;
this.places = new Array();
var i = 0;
while (i < tmp.length) {
this.places.push(tmp[i]);
i++;
}
while ((cnt < this.BadCount) && (0 < this.places.length)) {
var k = random(this.places.length);
var ii = this.places[k][0];
this.BadGuys.push(new TBad(ii, this.places[k][1], this.FreeDepth++));
var i = 0;
while (i < this.places.length) {
if (this.places[i][0] == ii) {
this.places.splice(i, 1);
i--;
}
i++;
}
cnt++;
}
}
var tmp = new Array();
var i = 2;
while (i < fld_Height) {
var j = 2;
while (j < (fld_Width - 1)) {
if (this.CoolPlaceForGold(i, j)) {
tmp.push(new Array(i, j));
}
j++;
}
i++;
}
var cnt = 0;
while (cnt < this.GoldCount) {
delete this.places;
this.places = new Array();
var i = 0;
while (i < tmp.length) {
this.places.push(tmp[i]);
i++;
}
while ((cnt < this.GoldCount) && (0 < this.places.length)) {
var k = random(this.places.length);
var ii = this.places[k][0];
var jj = this.places[k][1];
this.Field[ii][jj].gotoAndStop("Gold");
this.Field[ii][jj].traceable = true;
this.Field[ii][jj].type = "gold";
var i = 0;
while (i < this.places.length) {
if (this.places[i][0] == ii) {
this.places.splice(i, 1);
i--;
}
i++;
}
cnt++;
}
}
delete tmp;
this.PlacePandor();
if (MAKE_DEMO != undefined) {
var i = 0;
while (i < (fld_Height + 2)) {
var s = new String("\"");
var j = 0;
while (j < (fld_Width + 2)) {
if (this.Field[i][j].type == "gold") {
s = s.concat("g");
} else if (this.Field[i][j].type == "pandor") {
s = s.concat("p");
} else {
s = s.concat("*");
}
j++;
}
s = s.concat("\"");
if (i < (fld_Height + 1)) {
s = s.concat(",");
}
i++;
}
}
this.pbState = "playing";
};
TGame.prototype.PlacePandor = function () {
var tmp = new Array();
var i = 2;
while (i < fld_Height) {
var j = 2;
while (j < (fld_Width - 1)) {
if ((this.Field[i][j].type != "gold") && (this.CoolPlaceForGold(i, j))) {
tmp.push(new Array(i, j));
}
j++;
}
i++;
}
var k = random(tmp.length);
var ii = tmp[k][0];
var jj = tmp[k][1];
this.Field[ii][jj].gotoAndStop("Pandor");
this.Field[ii][jj].traceable = true;
this.Field[ii][jj].type = "pandor";
};
TGame.prototype.CoolPlaceForBad = function (i, j) {
if (i == this.Good.row) {
return(false);
}
if ((((((this.Field[i][j].traceable == true) && (this.Field[i][j - 1].traceable == true)) && (this.Field[i][j + 1].traceable == true)) && ((this.Field[i + 1][j].traceable == false) || (this.Field[i + 1][j].type == "ladder"))) && ((this.Field[i + 1][j - 1].traceable == false) || (this.Field[i + 1][j - 1].type == "ladder"))) && ((this.Field[i + 1][j + 1].traceable == false) || (this.Field[i + 1][j + 1].type == "ladder"))) {
return(true);
}
return(false);
};
TGame.prototype.CoolPlaceForGold = function (i, j) {
if (i == this.Good.row) {
return(false);
}
if (((this.Field[i][j].traceable == true) && (this.Field[i][j].type != "ladder")) && ((this.Field[i + 1][j].traceable == false) || (this.Field[i + 1][j].type == "ladder"))) {
return(true);
}
return(false);
};
TGame.prototype.OnTakeGold = function (r, c) {
this.GoldCount--;
if ((0 >= this.GoldCount) && (!this.IsDemo)) {
this.AddPoints(points_PerLevel * (this.LevelNum + 1));
this.pbState = "next level";
this.finish_frames = frames_to_finish_level;
}
var price = (points_PerGold * (this.LevelNum + 1));
this.AddPoints(price, true);
if (PLAYSOUND) {
this.sndTakeGold.start();
}
};
TGame.prototype.OnTakePandor = function (r, c) {
if (MAKE_DEMO) {
return(undefined);
}
this.PlacePandor();
if (PLAYSOUND) {
this.sndTakeGold.start();
}
var p = random(100);
if (p < 25) {
this.AddPoints(200 * (this.LevelNum + 1), true);
return(undefined);
}
if (p < 50) {
this.AddPoints(-200 * (this.LevelNum + 1), true);
return(undefined);
}
if (p < 65) {
new TMessage(r, c, "-1 life");
this.Good.Kill();
return(undefined);
}
if ((p < 80) && (this.GoodLifes < good_Max_Life)) {
new TMessage(r, c, "+1 life");
this.GoodLifes++;
ILifes.SetValue(this.GoodLifes);
return(undefined);
}
var tmp = new Array();
var i = 2;
while (i < fld_Height) {
var j = 2;
while (j < (fld_Width - 1)) {
if ((this.CoolPlaceForBad(i, j) && (this.Field[i][j].type != "pandor")) && (this.Field[i][j].type != "gold")) {
tmp.push(new Array(i, j));
}
j++;
}
i++;
}
var j = 0;
while (j < this.BadGuys.length) {
var i = 0;
while (i < tmp.length) {
if ((tmp[i][0] == this.BadGuys[j].row) && (tmp[i][1] == this.BadGuys[j].col)) {
tmp.splice(i, 1);
i--;
}
i++;
}
j++;
}
var k = random(tmp.length);
this.Good.row = tmp[k][0];
this.Good.col = tmp[k][1];
this.Good.Tromb("d");
this.Good.Tromb("c");
new TMessage(this.Good.row, this.Good.col, "teleporting");
delete tmp;
};
TGame.prototype.KillGood = function () {
if (this.pbState != "playing") {
return(undefined);
}
if (PLAYSOUND) {
this.sndKill.start();
}
if (MAKE_DEMO) {
this.pbState = "gameover";
return(undefined);
}
if (DEBUG == undefined) {
this.GoodLifes--;
}
this.pbState = "fatality";
this.finish_frames = frames_to_finish_level;
ILifes.SetValue(this.GoodLifes);
};
TGame.prototype.OnNextFrame = function () {
if (!this.Locked) {
if (this.pbState == "create actors") {
this.CreateActors();
return(undefined);
}
if (this.pbState == "stopdemo") {
this.StopDemo();
return(undefined);
}
if (this.IsDemo) {
this.NextDemoFrame();
if (Key.isDown(Key.ESCAPE)) {
this.pbState = "stopdemo";
}
return(undefined);
}
if (this.pbState == "fatality") {
this.finish_frames--;
if (0 >= this.finish_frames) {
this.pbState = "playing";
if (0 >= this.GoodLifes) {
this.GameOver();
} else {
this.ReloadLevel();
}
}
return(undefined);
}
if (this.pbState == "next level") {
this.finish_frames--;
if (0 >= this.finish_frames) {
this.pbState = "playing";
this.NextLevel(true);
}
if (msgNLevel == undefined) {
attachMovie("msgNextLevel", "msgNLevel", this.FreeDepth++);
var msg = msgNLevel;
msg._x = scr_Offset + (scr_Width / 2);
msg._y = scr_Offset + (scr_Height / 2);
msg.txtLevelNum = ((this.LevelNum + 1) % (2 * LevelCount)) + 1;
msg.txtBonus = points_PerLevel * (this.LevelNum + 1);
}
}
if (this.pbState == "newgame") {
this.NewGame();
return(undefined);
}
if (this.pbState == "paused") {
if (this.pmsg == undefined) {
attachMovie("msgPause", "pausemsg", this.FreeDepth++);
this.pmsg = pausemsg;
this.pmsg._x = scr_Offset + (scr_Width / 2);
this.pmsg._y = scr_Offset + (scr_Height / 2);
this.Pause(true);
} else {
removeMovieClip(this.pmsg);
this.pmsg = undefined;
this.Pause(false);
}
}
}
if (!(((this.pbState == "idle") || (this.pbState == "gameover")) || (this.Locked))) {
this.Good.OnNextFrame();
if ((this.acceleration == true) && (!this.isDemo)) {
this.frame = (this.frame + 1) % 2;
var i = this.frame;
while (i < this.BadGuys.length) {
this.BadGuys[i].OnNextFrame();
i = i + 2;
}
} else {
var i = 0;
while (i < this.BadGuys.length) {
this.BadGuys[i].OnNextFrame();
i++;
}
}
if (this.CheckFPS && (!this.IsDemo)) {
this.CheckFPS = false;
if (this.fps() < FPS) {
this.acceleration = true;
} else {
this.acceleration = false;
}
}
}
if (Key.isDown(83)) {
if (!this.Sdown) {
this.Sdown = true;
if (PLAYSOUND) {
sndBtn.gotoAndStop(2);
} else {
sndBtn.gotoAndStop(1);
}
PLAYSOUND = !PLAYSOUND;
}
} else {
this.Sdown = false;
}
if (this.pbState == "gameover") {
if ((Key.isDown(32) || (Key.isDown(13))) || (Key.isDown(27))) {
this.NewGameMsg();
if (PLAYSOUND) {
this.sndClick.start();
}
}
}
if (!this.Locked) {
if (Key.isDown(72)) {
this.Locked = true;
attachMovie("msgHelp", "help", Game.FreeDepth++);
}
if (Key.isDown(80)) {
if (!this.Pdown) {
this.Pdown = true;
if ((this.pbState != "paused") && (this.pbState != "gameover")) {
this.pbState = "paused";
}
}
} else {
this.Pdown = false;
}
if (Key.isDown(78)) {
if (PLAYSOUND) {
Game.sndClick.start();
}
Game.NewGameMsg();
}
if (Key.isDown(68)) {
this.StartDemo();
}
}
};
TGame.prototype.GameOver = function () {
this.GAMOVER = true;
this.pbState = "gameover";
if (PLAYSOUND) {
this.sndGameOver.start();
}
attachMovie("msgGameOver", "gameovermsg", this.FreeDepth++);
this.msg = gameovermsg;
this.msg.gotoAndPlay(1);
this.msg._x = scr_Offset + (scr_Width / 2);
this.msg._y = scr_Offset + (scr_Height / 2);
};
TGame.prototype.NewGameMsg = function () {
if (this.pbState == "gameover") {
this.pbState = "newgame";
return(undefined);
}
attachMovie("msgConfirmNewGame", "ngmsg", this.FreeDepth++);
this.ngmsg = ngmsg;
this.ngmsg.gotoAndPlay(1);
this.ngmsg._x = scr_Offset + (scr_Width / 2);
this.ngmsg._y = scr_Offset + (scr_Height / 2);
this.Locked = true;
};
TGame.prototype.Pause = function (p) {
if (p == undefined) {
if (this.pbState == "idle") {
this.pbState = "playing";
this.paused = false;
} else if (this.pbState == "playing") {
this.pbState = "idle";
this.paused = true;
}
} else if (p == true) {
this.pbState = "idle";
this.paused = true;
} else {
this.pbState = "playing";
this.paused = false;
}
};
TGame.prototype.AddPoints = function (points, show) {
this.Points = this.Points + points;
if (this.Points < 0) {
this.Points = 0;
}
if (show == true) {
new TMessage(this.Good.row, this.Good.col, points);
}
IPoints.SetValue(this.Points);
if ((this.Points >= this.BonusPoints) && (!this.IsDemo)) {
if (this.GoodLifes < good_Max_Life) {
this.GoodLifes++;
ILifes.SetValue(this.GoodLifes);
}
this.Locked = true;
attachMovie("msgBonusLife", "bonus", this.FreeDepth++);
var msg = bonus;
msg._x = scr_Offset + (scr_Width / 2);
msg._y = scr_Offset + (scr_Height / 2);
this.BonusPoints = this.BonusPoints * 2;
msg.txtNextBonusPoint = this.BonusPoints;
}
};
TGame.prototype.fps = function () {
var fps = (1000 / (getTimer() - this.prevtime));
this.prevtime = getTimer();
return(fps);
};
TGood.prototype.Release = function () {
removeMovieClip(this.Movie);
};
TGood.prototype.MayBeKilled = function () {
if (this.State == "jumping") {
return(false);
}
return(true);
};
TGood.prototype.Kill = function () {
if (Game.pbState == "playing") {
this.Movie.gotoAndPlay("Fatality");
Game.KillGood();
}
};
TGood.prototype.CanBeMoved = function (x, y) {
var w;
var h;
if ((this.State == "jumping") || (this.State == "falling")) {
w = this.mwidth;
h = this.mheight;
} else {
w = this.Movie._width;
h = this.Movie._height;
}
var pos = new Array(new Array(x, y), new Array(x + w, y), new Array(x, y + h), new Array(x + w, y + h));
var i = 0;
while (i < 4) {
var c = (Math.floor((pos[i][0] - scr_Offset) / cell_Size) + 1);
var r = (Math.floor((pos[i][1] - scr_Offset) / cell_Size) + 1);
if (!Game.Field[r][c].traceable) {
return(false);
}
i++;
}
delete pos;
return(true);
};
TGood.prototype.IsLadder = function (x, y) {
var w;
var h;
w = this.mwidth;
h = this.mheight;
var c = (Math.floor(((x + (w / 2)) - scr_Offset) / cell_Size) + 1);
var r = (Math.floor(((y + h) - scr_Offset) / cell_Size) + 1);
return(Game.Field[r][c].type == "ladder");
};
TGood.prototype.OnLadder = function () {
var w;
var h;
w = this.mwidth;
h = this.mheight;
var c = (Math.floor(((this.Movie._x + (w / 2)) - scr_Offset) / cell_Size) + 1);
var r = (Math.floor(((this.Movie._y + (h * 0.9)) - scr_Offset) / cell_Size) + 1);
return(Game.Field[r][c].type == "ladder");
};
TGood.prototype.Tromb = function (dir) {
if (dir == "l") {
this.Movie._x = scr_Offset + (cell_Size * (this.col - 1));
} else if (dir == "r") {
this.Movie._x = (scr_Offset + (cell_Size * this.col)) - this.Movie._width;
} else if (dir == "c") {
this.Movie._x = (scr_Offset + (cell_Size * this.col)) - ((cell_Size + this.mheight) / 2);
} else if (dir == "u") {
this.Movie._y = scr_Offset + (cell_Size * (this.row - 1));
} else if (dir == "d") {
this.Movie._y = (scr_Offset + (cell_Size * this.row)) - this.mheight;
}
};
TGood.prototype.MustFall = function () {
if (((this.State == "jumping") || (this.State == "falling")) || (this.OnLadder())) {
return(false);
}
if (Game.Field[this.row][this.col].traceable && ((Game.Field[this.row + 1][this.col].traceable && (Game.Field[this.row + 1][this.col].type != "ladder")) || ((this.Movie._y + (this.mheight / 10)) < ((scr_Offset + (cell_Size * this.row)) - this.mheight)))) {
return(true);
}
return(false);
};
TGood.prototype.SetRC = function () {
this.col = Math.floor(((this.Movie._x + (this.Movie._width / 2)) - scr_Offset) / cell_Size) + 1;
this.row = Math.floor(((this.Movie._y + (this.Movie._height / 2)) - scr_Offset) / cell_Size) + 1;
};
TGood.prototype.Jump = function () {
if (MAKE_DEMO != undefined) {
}
if (((this.State == "falling") || (this.State == "jumping")) || (this.OnLadder())) {
return(undefined);
}
if (PLAYSOUND) {
Game.sndJump.start();
}
this.State = "jumping";
this.jstart_y = this.Movie._y;
this.tt = 0;
if (this.jdir == "l") {
this.Movie.gotoAndPlay("JLeft");
} else if (this.jdir == "r") {
this.Movie.gotoAndPlay("JRight");
} else {
this.Movie.gotoAndStop("JFace");
}
};
TGood.prototype.Fall = function (after_jump) {
if (MAKE_DEMO != undefined) {
}
if (this.State == "falling") {
return(undefined);
}
if (after_jump == true) {
this.fall_after_jump = true;
} else {
this.fall_after_jump = false;
}
this.State = "falling";
this.jstart_y = this.Movie._y;
this.tt = 0;
if (this.jdir == "l") {
this.Movie.gotoAndPlay("FLeft");
} else if (this.jdir == "r") {
this.Movie.gotoAndPlay("FRight");
} else {
this.Movie.gotoAndStop("FFace");
}
this.tt = good_Takeoff_time;
};
TGood.prototype.Move = function (dir) {
if (MAKE_DEMO != undefined) {
var s = "new Array (\"g\", \"M\"";
if (dir != undefined) {
s = s + ((", \"" + dir) + "\"");
}
}
if (this.msg != undefined) {
this.msg._x = this.Movie._x;
this.msg._y = this.Movie._y;
}
var dx = 0;
var dy = 0;
if (this.State == "jumping") {
if (this.tt == good_Takeoff_time) {
this.Fall(true);
return(undefined);
}
this.tt++;
if (this.jdir == "l") {
dx = (-good_JXSpeed) * this.tt;
} else if (this.jdir == "r") {
dx = good_JXSpeed * this.tt;
} else {
dx = 0;
}
dy = this.jparam * ((((-2 * this.tt) * this.tt) + (2 * this.tt)) - 1);
} else if (this.State == "falling") {
if (this.fall_after_jump == true) {
dx = good_JXSpeed;
} else {
dx = 0;
}
if (this.jdir == "l") {
dx = -dx;
} else if (this.jdir != "r") {
dx = 0;
}
dy = Math.sqrt(this.jparam / 2) * ((2 * this.tt) - 1);
this.tt++;
} else {
this.jdir = undefined;
if (dir == undefined) {
this.Movie.gotoAndStop("Face");
return(undefined);
}
if (dir == "l") {
this.Movie.gotoAndStop("Left");
dx = -good_Speed;
if (this.State == "climbing") {
this.State = "active";
}
} else if (dir == "r") {
this.Movie.gotoAndStop("Right");
dx = good_Speed;
if (this.State == "climbing") {
this.State = "active";
}
} else if (dir == "u") {
if (this.OnLadder()) {
this.State = "climbing";
this.Movie.gotoAndStop("Back");
this.Movie._x = scr_Offset + ((cell_Size * (this.col - 1)) + ((cell_Size - this.Movie._width) / 2));
dy = -good_YSpeed;
} else {
this.Tromb("d");
this.State = "active";
}
} else if (dir == "d") {
this.Movie.gotoAndStop("Back");
dy = good_YSpeed;
if (this.IsLadder(this.Movie._x, this.Movie._y + dy)) {
this.Movie._x = scr_Offset + ((cell_Size * (this.col - 1)) + ((cell_Size - this.Movie._width) / 2));
}
if (!Game.Field[this.row + 1][this.col].traceable) {
this.State = "active";
}
}
}
var c = ((((Math.abs(dy) < Math.abs(dx)) ? (Math.abs(dx)) : (Math.abs(dy))) / cell_Size) + 1);
var ddx = (dx / c);
var ddy = (dy / c);
var x = this.Movie._x;
var y = this.Movie._y;
var b = false;
var k = 0;
while (k < c) {
if (this.CanBeMoved(x + ddx, y + ddy)) {
x = x + ddx;
y = y + ddy;
if (((this.State == "falling") || (this.State == "jumping")) && (this.IsLadder(x, y))) {
if (this.State == "falling") {
y = y - ddy;
}
this.Movie.gotoAndStop("Face");
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
this.Tromb("d");
this.Tromb(dir);
this.State = "active";
b = true;
break;
}
if (dir == "u") {
if (!this.IsLadder(x, y - (0.1 * this.Movie._height))) {
b = true;
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
this.Tromb("d");
break;
}
}
} else if (this.CanBeMoved(x, y + ddy)) {
y = y + ddy;
if (((this.State == "falling") || (this.State == "jumping")) && (this.IsLadder(x, y))) {
if (this.State == "falling") {
y = y - ddy;
}
this.Movie.gotoAndStop("Face");
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
this.Tromb("d");
this.Tromb(dir);
b = true;
this.State = "active";
break;
}
if (this.State == "falling") {
this.Fall();
} else if (dir == "u") {
if (!this.IsLadder(x, y - (0.1 * this.Movie._height))) {
b = true;
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
this.Tromb("d");
break;
}
}
} else {
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
if (this.State == "active") {
if ((dir == "l") || (dir == "r")) {
this.Tromb(dir);
}
} else if (this.State == "falling") {
this.Tromb("d");
this.Movie.gotoAndStop("Face");
this.State = "active";
} else if (this.State == "jumping") {
this.Tromb("u");
this.Fall(true);
} else {
this.State = "active";
this.Tromb("d");
}
b = true;
break;
}
k++;
}
if (!b) {
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
if ((dir == "l") || (dir == "r")) {
this.Tromb(dir);
}
}
if ((this.State != "jumping") && (this.State != "falling")) {
if (this.MustFall()) {
this.Tromb("c");
this.Fall();
}
}
this.TakeGold();
};
TGood.prototype.TakeGold = function () {
if (Game.Field[this.row][this.col].type == "gold") {
Game.Field[this.row][this.col].type = "empty";
Game.Field[this.row][this.col].gotoAndStop("Empty");
Game.OnTakeGold(this.row, this.col);
} else if (Game.Field[this.row][this.col].type == "pandor") {
Game.Field[this.row][this.col].type = "empty";
Game.Field[this.row][this.col].gotoAndStop("Empty");
Game.OnTakePandor(this.row, this.col);
}
};
TGood.prototype.OnNextFrame = function () {
if (this.State == "idle") {
return(undefined);
}
if ((this.State == "active") || (this.State == "climbing")) {
var l = false;
var r = false;
var u = false;
var d = false;
if (Key.isDown(Key.LEFT)) {
l = true;
} else if (Key.isDown(Key.RIGHT)) {
r = true;
} else if (Key.isDown(Key.UP)) {
u = true;
} else if (Key.isDown(Key.DOWN)) {
d = true;
}
if (Key.isDown(Key.SPACE) && (this.jdir == undefined)) {
if (!(l & r)) {
if (l) {
this.jdir = "l";
} else if (r) {
this.jdir = "r";
}
}
this.Jump();
this.Move();
} else {
if (!(l & r)) {
if (l) {
this.Move("l");
} else if (r) {
this.Move("r");
}
}
if (!(u & d)) {
if (u) {
this.Move("u");
} else if (d) {
this.Move("d");
}
}
if (!(((l || (r)) || (d)) || (u))) {
this.Move();
}
}
} else {
this.Move();
}
};
TBad.prototype.Release = function () {
removeMovieClip(this.Movie);
};
TBad.prototype.CanBeMoved = function (x, y) {
var w;
var h;
w = this.Movie._width;
h = this.Movie._height;
var pos = new Array(new Array(x, y), new Array(x + w, y), new Array(x, y + h), new Array(x + w, y + h));
var i = 0;
while (i < pos.length) {
var c = (Math.floor((pos[i][0] - scr_Offset) / cell_Size) + 1);
var r = (Math.floor((pos[i][1] - scr_Offset) / cell_Size) + 1);
if ((!Game.Field[r][c].traceable) || (Game.Field[r + 1][c].traceable && (Game.Field[r + 1][c].type != "ladder"))) {
return(false);
}
i++;
}
delete pos;
return(true);
};
TBad.prototype.IsLadder = function (x, y) {
var w;
var h;
w = this.Movie._width;
h = this.Movie._height;
var c = (Math.floor(((x + (w / 2)) - scr_Offset) / cell_Size) + 1);
var r = (Math.floor(((y + h) - scr_Offset) / cell_Size) + 1);
return(Game.Field[r][c].type == "ladder");
};
TBad.prototype.OnLadder = function () {
var w;
var h;
w = this.Movie._width;
h = this.Movie._height;
var c = (Math.floor(((this.Movie._x + (w / 2)) - scr_Offset) / cell_Size) + 1);
var r = (Math.floor(((this.Movie._y + (h * 0.9)) - scr_Offset) / cell_Size) + 1);
return(Game.Field[r][c].type == "ladder");
};
TBad.prototype.ChangeDir = function (dir) {
this.Dir = dir;
if (dir == "l") {
this.Movie.gotoAndPlay("Left");
} else if (dir == "r") {
this.Movie.gotoAndPlay("Right");
} else if (dir == "u") {
this.Movie.gotoAndStop("Back");
this.Movie._x = scr_Offset + ((cell_Size * (this.col - 1)) + ((cell_Size - this.Movie._width) / 2));
} else if (dir == "d") {
this.Movie.gotoAndStop("Back");
}
};
TBad.prototype.Tromb = function (dir) {
if (dir == "l") {
this.Movie._x = scr_Offset + (cell_Size * (this.col - 1));
} else if (dir == "r") {
this.Movie._x = (scr_Offset + (cell_Size * this.col)) - this.Movie._width;
} else if (dir == "u") {
this.Movie._y = scr_Offset + (cell_Size * (this.row - 1));
} else if (dir == "d") {
this.Movie._y = (scr_Offset + (cell_Size * this.row)) - this.mheight;
}
};
TBad.prototype.SetRC = function () {
this.col = Math.floor(((this.Movie._x + (this.Movie._width / 2)) - scr_Offset) / cell_Size) + 1;
this.row = Math.floor(((this.Movie._y + (this.Movie._height / 2)) - scr_Offset) / cell_Size) + 1;
};
TBad.prototype.Move = function () {
if (MAKE_DEMO != undefined) {
}
if (Game.acceleration && (!Game.IsDemo)) {
this.speed = 2 * bad_Speed;
} else {
this.speed = bad_Speed;
}
var dx = 0;
var dy = 0;
if (this.Dir == "l") {
dx = -this.speed;
} else if (this.Dir == "r") {
dx = this.speed;
} else if (this.Dir == "u") {
if (this.OnLadder()) {
dy = -this.speed;
} else {
this.Tromb("d");
}
} else if (this.Dir == "d") {
dy = this.speed;
if (this.IsLadder(this.Movie._x, this.Movie._y + dy)) {
this.Movie._x = scr_Offset + ((cell_Size * (this.col - 1)) + ((cell_Size - this.Movie._width) / 2));
}
}
var c = (Math.floor(((Math.abs(dy) < Math.abs(dx)) ? (Math.abs(dx)) : (Math.abs(dy))) / cell_Size) + 1);
var ddx = (dx / c);
var ddy = (dy / c);
var x = this.Movie._x;
var y = this.Movie._y;
var b = false;
var k = 0;
while (k < c) {
if (this.CanBeMoved(x + ddx, y + ddy)) {
x = x + ddx;
y = y + ddy;
} else if (this.CanBeMoved(x + ddx, this.Movie._y)) {
x = x + ddx;
} else {
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
this.Tromb(this.Dir);
if (this.Dir == "l") {
this.ChangeDir("r");
} else if (this.Dir == "r") {
this.ChangeDir("l");
} else if (this.Dir == "u") {
this.ChangeDir("d");
} else {
this.ChangeDir("u");
}
b = true;
break;
}
k++;
}
if (!b) {
this.Movie._x = x;
this.Movie._y = y;
this.SetRC();
}
if (Game.IsDemo) {
if ((this.Dir == "l") || (this.Dir == "r")) {
this.Tromb("d");
}
return(undefined);
}
if (this.Dir == "u") {
var b = true;
if ((Game.Field[this.row + 1][this.col].type == "ladder") && (Game.Field[this.row][this.col].type != "ladder")) {
this.ChangeDir(((50 < random(100)) ? "l" : "r"));
this.Tromb("d");
this.last_climb = bad_ChangeDirTime;
} else if ((Game.Field[this.row][this.col].type == "ladder") && (!Game.Field[this.row - 1][this.col].traceable)) {
this.ChangeDir("d");
b = false;
}
if (b && (this.last_creep < 0)) {
this.GoFromLadder();
}
} else if (this.Dir == "d") {
var b = true;
if ((Game.Field[this.row][this.col].type == "ladder") && (Game.Field[this.row + 1][this.col].type != "ladder")) {
if (!Game.Field[this.row + 1][this.col].traceble) {
this.ChangeDir(((50 < random(100)) ? "l" : "r"));
this.Tromb("d");
this.last_climb = bad_ChangeDirTime;
} else {
this.ChangeDir("u");
b = false;
}
}
if (b && (this.last_creep < 0)) {
this.GoFromLadder();
}
} else if (((this.Dir == "l") || (this.Dir == "r")) && (0 >= this.last_climb)) {
if ((Game.Field[this.row + 1][this.col].type == "ladder") && (this.CanBeMoved(this.Movie._x, this.Movie._y + this.speed))) {
if (80 < random(100)) {
this.ChangeDir("d");
}
this.last_creep = bad_ChangeDirTime;
} else if ((Game.Field[this.row][this.col].type == "ladder") && (this.CanBeMoved(this.Movie._x, this.Movie._y - this.speed))) {
if (80 < random(100)) {
this.ChangeDir("u");
}
this.last_creep = bad_ChangeDirTime;
}
}
this.last_climb--;
this.last_creep--;
};
TBad.prototype.GoFromLadder = function () {
var p = random(100);
if (50 < p) {
return(undefined);
}
var ld = Game.Field[this.row + 1][this.col - 1];
var rd = Game.Field[this.row + 1][this.col + 1];
var l = (Game.Field[this.row][this.col - 1].traceable && ((!ld.traceable) || (ld.type == "ladder")));
var r = (Game.Field[this.row][this.col + 1].traceable && ((!rd.traceable) || (rd.type == "ladder")));
if (l & r) {
this.Tromb("d");
this.ChangeDir(((random(100) >= 50) ? "l" : "r"));
this.last_climb = bad_ChangeDirTime;
} else if (l) {
this.Tromb("d");
this.ChangeDir("l");
this.last_climb = bad_ChangeDirTime;
} else if (r) {
this.Tromb("d");
this.ChangeDir("r");
this.last_climb = bad_ChangeDirTime;
}
};
TBad.prototype.OnNextFrame = function () {
if (this.State == "active") {
this.Move();
if (this.Movie.hitTest(Game.Good.Movie)) {
Game.Good.Kill();
}
}
};
TGame.prototype.StartDemo = function (dont_save) {
this.IsDemo = true;
if (this.pmsg != undefined) {
removeMovieClip(this.pmsg);
this.pmsg = undefined;
this.svPaused = true;
} else {
this.svPaused = false;
}
this.msg._visible = false;
if (demo == undefined) {
attachMovie("msgDemo", "demo", this.FreeDepth + 500);
}
this.CurDemoFrame = 1;
if (dont_save == undefined) {
this.SaveGameData();
}
this.LevelNum = 0;
this.LoadLevel(this.LevelNum);
this.pbState = "idle";
var i = 0;
while (i < this.BadGuys.length) {
this.BadGuys[i].Release();
i++;
}
delete this.BadGuys;
this.BadGuys = new Array();
this.Points = 0;
PointerIndicator.SetValue(this.Points);
BonusIndicator.SetValue(this.Bonus);
var i = 0;
while (i < (fld_Height + 2)) {
var j = 0;
while (j < (fld_Width + 2)) {
if (this.DemoAr[0][i].charAt(j) == "g") {
this.Field[i][j].gotoAndStop("Gold");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "gold";
} else if (this.DemoAr[0][i].charAt(j) == "p") {
this.Field[i][j].gotoAndStop("Pandor");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "pandor";
}
j++;
}
i++;
}
this.BadCount = 3;
this.Points = 0;
this.GoodLifes = good_Max_Life;
IPoints.SetValue(this.Points);
ILifes.SetValue(this.GoodLifes);
this.NextDemoFrame();
this.pbState = "idle";
};
TGame.prototype.StopDemo = function () {
this.msg._visible = true;
this.IsDemo = false;
this.pbState = "playing";
this.LoadGameData();
removeMovieClip("demo");
if (this.svPaused) {
this.pbState = "paused";
}
if (this.GAMOVER) {
this.pbState = "gameover";
}
};
TGame.prototype.ReleaseSaveData = function () {
delete this.svBadGuys;
delete this.svField;
};
TGame.prototype.SaveGameData = function () {
if (this.Points == undefined) {
return(undefined);
}
this.svPoints = this.Points;
this.svBonusPoints = this.BonusPoints;
this.svLevel = this.LevelNum;
this.svLifes = this.GoodLifes;
this.svBadCount = this.BadCount;
this.svBadGuys = new Array();
var i = 0;
while (i < this.BadGuys.length) {
this.svBadGuys[i] = new Array();
this.svBadGuys[i][0] = this.BadGuys[i].row;
this.svBadGuys[i][1] = this.BadGuys[i].col;
this.svBadGuys[i][2] = this.BadGuys[i].Dir;
this.svBadGuys[i][3] = this.BadGuys[i].speed;
i++;
}
this.svGoodR = this.Good.row;
this.svGoodC = this.Good.col;
this.svGoodX = this.Good.Movie._x;
this.svGoodY = this.Good.Movie._y;
this.svGState = this.Good.State;
this.svGjdir = this.Good.jdir;
this.svGtt = this.Good.tt;
this.svField = new Array();
var i = 0;
while (i < (fld_Height + 2)) {
this.svField[i] = new Array();
var j = 0;
while (j < (fld_Width + 2)) {
this.svField[i][j] = this.Field[i][j].type;
j++;
}
i++;
}
this.ReleaseLevel();
};
TGame.prototype.LoadGameData = function () {
if (this.svLifes == undefined) {
this.NewGame();
return(undefined);
}
this.ReleaseLevel();
this.LevelNum = this.svLevel;
this.Points = this.svPoints;
this.BonusPoints = this.svBonusPoints;
this.GoodLifes = this.svLifes;
IPoints.SetValue(this.Points);
ILifes.SetValue(this.GoodLifes);
ILevel.SetValue(this.LevelNum + 1);
this.Field = new Array();
var d = GAME_DEPTH;
this.GoldCount = 0;
var i = 0;
while (i < (fld_Height + 2)) {
this.Field[i] = new Array();
var j = 0;
while (j < (fld_Width + 2)) {
if (!((((i == 0) || (i == (fld_Height + 1))) || (j == 0)) || (j == (fld_Width + 1)))) {
attachMovie("mvCell", (("Cell" + i) + "_") + j, d++);
this.Field[i][j] = eval ((("Cell" + i) + "_") + j);
this.Field[i][j]._width = (this.Field[i][j]._height = cell_Size);
this.Field[i][j]._x = scr_Offset + (cell_Size * (j - 1));
this.Field[i][j]._y = scr_Offset + (cell_Size * (i - 1));
}
if (this.svField[i][j] == "empty") {
this.Field[i][j].gotoAndStop("Empty");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "empty";
} else if (this.svField[i][j] == "ladder") {
this.Field[i][j].gotoAndStop("Ladder");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "ladder";
} else if (this.svField[i][j] == "block") {
this.Field[i][j].gotoAndStop("Block");
this.Field[i][j].traceable = false;
this.Field[i][j].type = "block";
} else if (this.svField[i][j] == "gold") {
this.Field[i][j].gotoAndStop("Gold");
this.Field[i][j].traceable = true;
this.Field[i][j].type = "gold";
this.GoldCount++;
}
j++;
}
i++;
}
this.Good = new TGood(this.svGoodR, this.svGoodR, d++);
this.Good.Movie._x = this.svGoodX;
this.Good.Movie._y = this.svGoodY;
this.Good.State = this.svGState;
this.Good.jdir = this.svGjdir;
this.Good.tt = this.svGtt;
this.FreeDepth = d++;
this.BadGuys = new Array();
this.BadCount = this.svBadCount;
var i = 0;
while (i < this.BadCount) {
var b = new TBad(this.svBadGuys[i][0], this.svBadGuys[i][1], this.FreeDepth++);
b.Dir = this.svBadGuys[i][2];
b.speed = this.svBadGuys[i][3];
this.BadGuys.push(b);
i++;
}
this.ReleaseSaveData();
};
TGame.prototype.NextDemoFrame = function () {
if (this.CurDemoFrame < (this.DemoAr.length - 1)) {
if (this.DemoAr[this.CurDemoFrame][0] == "g") {
if (this.DemoAr[this.CurDemoFrame][1] == "M") {
this.Good.Move(this.DemoAr[this.CurDemoFrame][2]);
} else if (this.DemoAr[this.CurDemoFrame][1] == "J") {
this.Good.jdir = this.DemoAr[this.CurDemoFrame][2];
this.Good.Jump();
} else if (this.DemoAr[this.CurDemoFrame][1] == "F") {
this.Good.Fall(this.DemoAr[this.CurDemoFrame][2]);
}
this.CurDemoFrame++;
}
while ((this.DemoAr[this.CurDemoFrame][0] == "b") && (this.DemoAr[this.CurDemoFrame][1] != "M")) {
if (this.BadGuys == undefined) {
this.BadGuys = new Array();
}
var b = new TBad(this.DemoAr[this.CurDemoFrame][3], this.DemoAr[this.CurDemoFrame][4], this.FreeDepth++);
b.ChangeDir(this.DemoAr[this.CurDemoFrame][1]);
b.speed = this.DemoAr[this.CurDemoFrame][2];
this.BadGuys.push(b);
this.CurDemoFrame++;
}
var k = 0;
while ((this.DemoAr[this.CurDemoFrame][0] == "b") && (this.DemoAr[this.CurDemoFrame][1] == "M")) {
this.BadGuys[k].ChangeDir(this.DemoAr[this.CurDemoFrame][2]);
k++;
this.CurDemoFrame++;
}
var i = 0;
while (i < this.BadGuys.length) {
this.BadGuys[i].Move();
i++;
}
} else {
this.StartDemo(true);
}
};
if (inited == undefined) {
inited = true;
init();
}
Frame 2
Game.OnNextFrame();
gotoAndPlay (1);
Symbol 8 Button
on (release) {
_parent.Game.pbState = "stopdemo";
}
Instance of Symbol 14 MovieClip in Symbol 15 MovieClip [msgDemo] Frame 1
onClipEvent (keyDown) {
_parent._parent.Game.pbState = "stopdemo";
}
Symbol 37 MovieClip [mvBad] Frame 6
gotoAndPlay (2);
Symbol 37 MovieClip [mvBad] Frame 10
gotoAndPlay (7);
Symbol 57 MovieClip [mvGood] Frame 6
gotoAndPlay (2);
Symbol 57 MovieClip [mvGood] Frame 11
gotoAndPlay (7);
Symbol 57 MovieClip [mvGood] Frame 18
gotoAndPlay (14);
Symbol 57 MovieClip [mvGood] Frame 23
gotoAndPlay (19);
Symbol 57 MovieClip [mvGood] Frame 28
gotoAndPlay (24);
Symbol 57 MovieClip [mvGood] Frame 33
gotoAndPlay (29);
Symbol 57 MovieClip [mvGood] Frame 50
stop();
Symbol 75 Button
on (press) {
_parent.Game.Locked = false;
_parent.Game.pbState = "newgame";
removeMovieClip(this);
}
Symbol 77 Button
on (press) {
_parent.Game.Locked = false;
removeMovieClip(this);
}
Symbol 80 Button
on (release, keyPress "<Space>") {
if (_root.PLAYSOUND) {
_root.Game.sndClick.start();
}
if ((((!_root.Game.Locked) && (_root.Game.pbState != "paused")) && (_root.Game.pbState != "gameover")) && (_root.Game.pbState != "create actors")) {
_root.Game.pbState = "paused";
}
}
Symbol 86 Button
on (press) {
removeMovieClip(this);
Game.Locked = false;
}
Symbol 87 MovieClip [msgHelp] Frame 1
if ((Key.isDown(13) || (Key.isDown(32))) || (Key.isDown(27))) {
removeMovieClip(this);
Game.Locked = false;
}
Symbol 87 MovieClip [msgHelp] Frame 2
gotoAndPlay (1);
Symbol 92 MovieClip [msgGetPoint] Frame 15
removeMovieClip(this);
delete this.obj;
Symbol 97 Button
on (press) {
_parent.Game.Locked = false;
removeMovieClip(this);
}
Symbol 103 MovieClip [msgNextLevel] Frame 20
removeMovieClip(this);
Symbol 105 MovieClip Frame 20
removeMovieClip(_parent);
Symbol 106 MovieClip Frame 20
removeMovieClip(_parent);
Symbol 122 MovieClip Frame 1
stop();
Symbol 122 MovieClip Frame 5
stop();
Symbol 122 MovieClip Frame 8
gotoAndStop (1);
Symbol 122 MovieClip Frame 12
gotoAndStop (1);
Symbol 124 Button
on (rollOver) {
_root.knop1.gotoAndPlay(2);
}
on (rollOut) {
_root.knop1.gotoAndPlay(6);
}
on (press) {
if (!Game.Locked) {
Game.NewGameMsg();
if (PLAYSOUND) {
Game.sndClick.start();
}
}
}
Symbol 131 Button
on (release) {
if (PLAYSOUND) {
Game.sndClick.start();
}
var s = "^jjf0%%WXiebkj_ij$Yec";
var sd = "";
var i = 0;
while (i < s.length) {
sd = sd + String.fromCharCode(s.charCodeAt(i) + 10);
i++;
}
getURL (sd, "blank");
}
Symbol 134 Button
on (press) {
if (PLAYSOUND) {
Game.sndClick.start();
}
if (!Game.Locked) {
Game.Locked = true;
attachMovie("msgHelp", "help", Game.FreeDepth++);
}
}
Symbol 135 Button
on (press) {
if (PLAYSOUND) {
Game.sndClick.start();
}
if ((((!Game.Locked) && (Game.pbState != "paused")) && (Game.pbState != "gameover")) && (Game.pbState != "create actors")) {
Game.pbState = "paused";
}
}
Symbol 137 Button
on (release) {
this.SetCheck(false);
}
Symbol 139 Button
on (release) {
this.SetCheck(true);
}
Symbol 141 MovieClip Frame 1
stop();
Symbol 143 Button
on (press) {
if (PLAYSOUND) {
Game.sndClick.start();
}
if (!Game.Locked) {
Game.StartDemo();
}
}
Symbol 151 MovieClip Frame 1
stop();
Symbol 151 MovieClip Frame 5
stop();
Symbol 152 Button
on (rollOver) {
_root.knop2.gotoAndPlay(2);
}
on (rollOut) {
_root.knop2.gotoAndPlay(6);
}
on (release) {
if (PLAYSOUND) {
Game.sndClick.start();
}
var s = "^jjf0%%WXiebkj_ij$Yec";
var sd = "";
var i = 0;
while (i < s.length) {
sd = sd + String.fromCharCode(s.charCodeAt(i) + 10);
i++;
}
getURL (sd, "blank");
}