Instance of Symbol 115 MovieClip in Frame 1
//component parameters
onClipEvent (initialize) {
xin_motion_val = "Toward";
xin_alphatype_val = "No";
xout_motion_val = "None";
xout_alphatype_val = "No";
perc_req_val = 100;
show_perc_val = "Yes";
slow_factor_val = 0.2;
init_action_val = "_root.stop();";
play_action_val = "_root.play();";
}
Frame 126
this.stop();
Instance of Symbol 95 MovieClip [CollapseGameSymbol] in Frame 127
//component parameters
onClipEvent (initialize) {
cp_num_rows = 9;
cp_num_columns = 13;
cp_num_row_start = 3;
cp_num_start = 3;
cp_num_pieces = 6;
cp_num_special_pieces = 3;
cp_bomb_bonus_points = 200;
cp_line_bomb_bonus_points = 300;
cp_color_bomb_bonus_points = 200;
cp_bomb_order = [];
cp_bomb_order[0] = "bomb";
cp_bomb_order[1] = "linebomb";
cp_bomb_order[2] = "colorbomb";
cp_points_per_block = 10;
cp_bonus_points = 50000;
cp_select_sound = "select_sound";
cp_collapse_sound = "collapse_sound";
cp_next_piece_time = 30;
cp_next_row_time = 5;
cp_next_row_time_decrease = 0.25;
cp_next_row_time_min = 3;
cp_bonus_time = 3;
cp_special_piece_probability = 0.03;
cp_special_piece_time = 30;
}
Instance of Symbol 209 MovieClip in Frame 128
//component parameters
onClipEvent (initialize) {
redir_url = "http://www.gamesinaflash.com/";
getgamekey_url = "http://www.gamesinaflash.com/getgamekey.php";
delay = 5000;
debug = "No";
}
Symbol 17 MovieClip [ExtensionsSymbol] Frame 1
#initclip 1
MovieClip.prototype.intersects = function (_mc, align_x, align_y) {
var _local3 = _mc;
var _local2 = new Array();
var _local1 = new Array();
switch (align_x) {
case "center" :
_local2.push(this._x - (this._width / 2));
_local2.push(this._x + (this._width / 2));
_local1.push(_local3._x - (_local3._width / 2));
_local1.push(_local3._x + (_local3._width / 2));
break;
case "left" :
_local2.push(this._x);
_local2.push(this._x + this._width);
_local1.push(_local3._x);
_local1.push(_local3._x + _local3._width);
break;
case "right" :
_local2.push(this._x - this._width);
_local2.push(this._x);
_local1.push(_local3._x - _local3._width);
_local1.push(_local3._x);
}
switch (align_y) {
case "center" :
_local2.push(this._y - (this._height / 2));
_local2.push(this._y + (this._height / 2));
_local1.push(_local3._y - (_local3._height / 2));
_local1.push(_local3._y + (_local3._height / 2));
break;
case "top" :
_local2.push(this._y);
_local2.push(this._y + this._height);
_local1.push(_local3._y);
_local1.push(_local3._y + _local3._height);
break;
case "bottom" :
_local2.push(this._y - this._height);
_local2.push(this._y);
_local1.push(_local3._y - _local3._height);
_local1.push(_local3._y);
}
if ((_local2[0] < _local1[0]) && (_local2[1] > _local1[0])) {
return(1);
}
if ((_local2[0] < _local1[1]) && (_local2[1] > _local1[1])) {
return(1);
}
if ((_local2[2] < _local1[2]) && (_local2[3] > _local1[2])) {
return(2);
}
if ((_local2[2] < _local1[3]) && (_local2[3] > _local1[3])) {
return(2);
}
return(0);
};
Number.prototype.isOdd = function (x) {
return(x % 2);
};
Number.prototype.randi = function (a, b) {
return(Math.floor(Math.random() * (b - a)) + Math.floor(a));
};
Array.prototype.swap_elements = function (a, b) {
var _local1 = this;
var _local2 = _local1[a];
_local1[a] = _local1[b];
_local1[b] = _local2;
};
Array.prototype.copy = function (_array) {
var _local2 = _array;
var _local3 = this;
var _local1 = 0;
while (_local1 < _local2.length) {
_local3[_local1] = _local2[_local1];
_local1++;
}
return(_local3);
};
Array.prototype.swap_elements2D = function (a, b, c, d) {
var _local1 = this;
var _local2 = d;
if ((a == c) && (b == _local2)) {
} else {
var _local3 = _local1[a][b];
_local1[a][b] = _local1[c][_local2];
_local1[c][_local2] = _local3;
}
};
Array.prototype.randomize = function () {
var _local1 = this;
var _local3 = new Number();
var _local2 = 0;
while (_local2 < _local1.length) {
_local1.swap_elements(_local3.randi(0, _local1.length), _local3.randi(0, _local1.length));
_local2++;
}
};
Array.prototype.randomize2D = function () {
var x = this.length;
var _local3 = this[0].length;
var _local1 = new Number();
var _local2 = 0;
while (_local2 < (x * _local3)) {
this.swap_elements2D(_local1.randi(0, x), _local1.randi(0, _local3), _local1.randi(0, x), _local1.randi(0, _local3));
_local2++;
}
};
Array.prototype.build_2D_Array = function (x, y) {
var index = 0;
var _local3 = 0;
var _local2 = 0;
while (_local2 < x) {
this[_local2] = new Array();
var _local1 = 0;
while (_local1 < y) {
if ((_local3 != 0) && ((_local3 % 2) == 0)) {
index++;
}
this[_local2][_local1] = Math.floor(index);
_local3++;
_local1++;
}
_local2++;
}
};
Array.prototype.return_random_element = function () {
var _local1 = new Number();
return(this[_local1.randi(0, this.length)]);
};
Array.prototype.get_random_indices = function (a, b) {
var _local3 = b;
var _local2 = new Array();
var _local1 = a;
while (_local1 <= _local3) {
_local2.push(_local1);
_local1++;
}
_local2.randomize();
return(_local2);
};
Array.prototype.contains = function (_array) {
var _local2 = _array;
var _local3 = this;
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local3.return_indices(_local2[_local1]) == -1) {
return(false);
}
_local1++;
}
return(true);
};
Array.prototype.return_indices = function (a) {
var _local2 = this;
var _local3 = a;
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] == _local3) {
return(_local1);
}
_local1++;
}
return(-1);
};
Array.prototype.remove_element = function (a) {
var _local1 = this;
var _local2 = _local1.return_indices(a);
if (_local2 == -1) {
return(_local1);
}
var f_array = _local1.slice(0, _local2);
var _local3 = _local1.slice(_local2 + 1, _local1.length);
_local1 = f_array.concat(_local3);
return(_local1);
};
Array.prototype.remove_indices = function (a) {
var _local1 = this;
var _local3 = _local1.slice(0, a);
var _local2 = _local1.slice(a + 1, _local1.length);
_local1 = _local3.concat(_local2);
return(_local1);
};
Array.prototype.push_no_duplicate = function (a) {
var _local2 = this;
var _local1 = _local2.return_indices(a);
if (_local1 == -1) {
_local2.push(a);
}
return(_local2);
};
Array.prototype.populate = function (_indices, _number, _increase) {
var _local3 = this;
var _local1 = 0;
while (_local1 < _indices) {
if (_increase) {
var _local2 = _number + _local1;
} else {
var _local2 = _number;
}
if (_local3[_local1] == undefined) {
_local3.push(_local2);
} else {
_local3[_local1] = _local2;
}
_local1++;
}
return(_local3);
};
Array.NumericSortFunction = function (A, B) {
if (A < B) {
return(-1);
}
if (A > B) {
return(1);
}
return(0);
};
Array.prototype.rande = function () {
var _local1 = new Number();
return(this[_local1.randi(0, this.length)]);
};
Array.prototype.hasElement = function (e) {
var _local2 = this;
var _local3 = e;
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] == _local3) {
return(true);
}
_local1++;
}
return(false);
};
Array.prototype.swap = function (a, b) {
var _local1 = this;
var _local2 = _local1[a];
_local1[a] = _local1[b];
_local1[b] = _local2;
};
Array.prototype.removeElementByProp = function (e) {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.length) {
var _local3 = true;
for (var k in _local2[_local1]) {
if (_local2[_local1][k] != e[k]) {
_local3 = false;
}
}
if (_local3) {
_local2.splice(_local1, 1);
_local1--;
}
_local1++;
}
};
Array.prototype.randomize_array_letters = function () {
var _local1 = new String();
var _local3 = 0;
while (_local3 < this.length) {
var k = 0;
while (k < this[_local3].length) {
_local1 = _local1 + this[_local3].charAt(k);
k++;
}
_local3++;
}
var _array = new Array();
_local3 = 0;
while (_local3 < this.length) {
_array[_local3] = new String();
var k = 0;
while (k < this[_local3].length) {
var myNumber = new Number();
var _local2 = myNumber.randi(0, _local1.length);
var char = _local1.charAt(_local2);
_local1 = _local1.substr(0, _local2) + _local1.substr(_local2 + 1, _local1.length - _local2);
_array[_local3] = _array[_local3] + char;
k++;
}
_local3++;
}
return(_array);
};
String.prototype.replace = function (s, r) {
var _local1 = this;
var _local3 = s;
var temp = "";
var _local2 = 0;
while (_local2 = _local1.indexOf(_local3) , _local2 != -1) {
temp = temp + (_local1.substr(0, _local2) + r);
_local1 = _local1.substr(_local2 + _local3.length);
}
return(temp + _local1);
};
String.prototype.return_reverse = function () {
var _local2 = this;
var _local3 = "";
var _local1 = _local2.length - 1;
while (_local1 >= 0) {
_local3 = _local3 + _local2.charAt(_local1);
_local1--;
}
return(_local3);
};
String.prototype.replace_where = function (where, newChar) {
var _local2 = this;
var _local1 = "";
_local1 = _local2.substring(0, where) + newChar;
_local1 = _local1 + _local2.substring(where + 1, _local2.length);
return(_local1);
};
String.prototype.remove_where = function (s) {
var _local2 = this;
var _local1 = "";
_local1 = _local2.substring(0, s);
_local1 = _local1 + _local2.substring(s + 1, _local2.length);
return(_local1);
};
String.prototype.pad = function (s, n) {
var _local3 = s;
var _local2 = "";
var _local1 = 0;
while (_local1 < n) {
_local2 = _local2 + _local3;
_local1++;
}
_local2 = _local2 + this;
return(_local2);
};
String.prototype.randomize_letters = function () {
var _local3 = this;
var _local2 = new Array();
var _local1 = 0;
while (_local1 < _local3.length) {
_local2.push(_local3.charAt(_local1));
_local1++;
}
_local2.randomize();
var _str = new String();
_local1 = 0;
while (_local1 < _local2.length) {
_str = _str + _local2[_local1];
_local1++;
}
return(_str);
};
String.prototype.to_array = function () {
var _local2 = this;
var _local3 = [];
var _local1 = 0;
while (_local1 < _local2.length) {
_local3.push(_local2.charAt(_local1));
_local1++;
}
return(_local3);
};
_global.returnConstantString = function (char, n) {
var _local3 = char;
var _local2 = "";
var _local1 = 0;
while (_local1 < n) {
_local2 = _local2 + _local3;
_local1++;
}
return(_local2);
};
ASSetPropFlags(_global, "returnConstantString", 1);
_global.recursiveObjectTrace = function (obj, level) {
var _local1 = level;
var _local2 = obj;
if (_local1 == undefined) {
_local1 = 0;
}
for (var _local3 in _local2) {
if (typeof(_local2[_local3]) == "object") {
trace(((returnConstantString(" ", _local1 * 4) + _local3) + " = ") + _local2[_local3]);
trace(returnConstantString(" ", _local1 * 4) + "{");
recursiveObjectTrace(_local2[_local3], _local1 + 1);
trace(returnConstantString(" ", _local1 * 4) + "}");
} else {
trace(((returnConstantString(" ", _local1 * 4) + _local3) + " = ") + _local2[_local3]);
}
}
};
ASSetPropFlags(_global, "recursiveObjectTrace", 1);
#endinitclip
Symbol 24 MovieClip [explode_cloud] Frame 1
var _num = new Number();
this.gotoAndPlay(_num.randi(1, 6));
Symbol 24 MovieClip [explode_cloud] Frame 15
this._parent.check_in_explode(this);
this.removeMovieClip();
Symbol 27 MovieClip Frame 1
this.stop();
Symbol 27 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 29 MovieClip Frame 1
this.stop();
Symbol 29 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 31 MovieClip Frame 1
this.stop();
Symbol 31 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 33 MovieClip Frame 1
this.stop();
Symbol 33 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 35 MovieClip Frame 1
this.stop();
Symbol 35 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 37 MovieClip Frame 1
this.stop();
Symbol 37 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 50 MovieClip Frame 1
this.stop();
Symbol 50 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 52 MovieClip Frame 1
this.stop();
Symbol 52 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 54 MovieClip Frame 1
this.stop();
Symbol 54 MovieClip Frame 7
this._parent._visible = false;
this._parent._parent.check_in_collapsee(this._parent.j, this._parent.k);
Symbol 55 MovieClip [selected_piece] Frame 1
this.stop();
Symbol 56 MovieClip [piece] Frame 1
this.stop();
Symbol 59 MovieClip Frame 1
if (this._parent.sound == "on") {
var _num = new Number();
this.gotoAndPlay(_num.randi(1, 300));
} else {
stop();
}
Symbol 59 MovieClip Frame 733
this.gotoAndStop(1);
Symbol 66 Button
on (press) {
_root.gotoAndStop("Starting Screen");
}
Symbol 77 Button
on (release) {
getURL ("http://www.gamesinaflash.com");
}
Symbol 83 Button
on (release) {
this._parent.pause_game("pause");
this.gotoAndStop(2);
}
Symbol 86 Button
on (release) {
this._parent.pause_game("unpause");
this.gotoAndStop(1);
}
Symbol 87 MovieClip Frame 1
stop();
Symbol 90 Button
on (release) {
this._parent.toggle_sound("off");
this.gotoAndStop(2);
}
Symbol 93 Button
on (release) {
this._parent.toggle_sound("on");
this.gotoAndStop(1);
}
Symbol 94 MovieClip Frame 1
stop();
Symbol 95 MovieClip [CollapseGameSymbol] Frame 1
#initclip 2
CollapseGame = function () {
this.load_data();
};
CollapseGame.prototype = new MovieClip();
Object.registerClass("CollapseGameSymbol", CollapseGame);
Object.prototype.SECOND = 1000;
Object.prototype.LETTER_LIST = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " "];
CollapseGame.prototype.load_data = function () {
var _local1 = this;
_local1._visible = false;
_local1.change_mode("loading data");
_local1.num_rows = _local1.cp_num_rows;
_local1.num_columns = _local1.cp_num_columns;
_local1.num_row_start = _local1.cp_num_row_start;
_local1.points_per_block = _local1.cp_points_per_block;
_local1.bomb_bonus_points = _local1.cp_bomb_bonus_points;
_local1.line_bomb_bonus_points = _local1.cp_line_bomb_bonus_points;
_local1.color_bomb_bonus_points = _local1.cp_color_bomb_bonus_points;
_local1.bomb_order = _local1.cp_bomb_order;
_local1.number_start = _local1.cp_num_start;
_local1.num_pieces = _local1.cp_num_pieces;
_local1.num_special_pieces = _local1.cp_num_special_pieces;
_local1.bonus_points = _local1.cp_bonus_points;
_local1.bonus_time = _local1.cp_bonus_time * SECOND;
_local1.select_sound = _local1.cp_select_sound;
_local1.collapse_sound = _local1.cp_collapse_sound;
_local1.next_piece_time = _local1.cp_next_piece_time * SECOND;
_local1.next_row_time = _local1.cp_next_row_time * SECOND;
_local1.next_row_time_decrease = _local1.cp_next_row_time_decrease * SECOND;
_local1.next_row_time_min = _local1.cp_next_row_time_min * SECOND;
_local1.special_piece_probability = _local1.cp_special_piece_probability;
_local1.special_piece_time = _local1.cp_special_piece_time * SECOND;
_local1.timeline = _local1;
for (var _local2 in _local1) {
if (_local2.indexOf("cp_") != -1) {
delete _local1[_local2];
}
}
if (_local1.data_file != undefined) {
_local1.load_text_file();
} else {
_local1.initialize();
}
};
CollapseGame.prototype.initialize = function () {
var _local1 = this;
_local1.initialize_variables();
_local1.initialize_graphics();
_local1.initialize_level();
_local1._visible = true;
_local1.change_mode("play");
};
CollapseGame.prototype.initialize_variables = function () {
var _local1 = this;
_local1.current_level = 0;
_local1.depth = 0;
_local1.score = 0;
_local1.game_start_time = getTimer();
_local1.game_time_count = 0;
_local1.special_piece_start = getTimer();
_local1.number_showing = _local1.num_row_start;
_local1.number_hidden = _local1.num_rows - _local1.number_showing;
_local1.total_number_pieces = _local1.num_pieces + _local1.num_special_pieces;
_local1.bomb_number = _local1.total_number_pieces + 1;
_local1.line_bomb_number = _local1.total_number_pieces;
_local1.color_bomb_number = _local1.total_number_pieces - 1;
_local1.sound = "on";
_local1.bombs_available_array = new Array();
_local1.play_background_music();
};
CollapseGame.prototype.initialize_graphics = function () {
var _local1 = this;
_local1.grid_mcs = [];
var _piece_width = (_local1.playing_area._width / _local1.num_columns);
var _piece_height = (_local1.playing_area._height / _local1.num_rows);
var j = 0;
while (j < _local1.num_rows) {
_local1.grid_mcs[j] = [];
var k = 0;
while (k < _local1.num_columns) {
_local1.grid_mcs[j][k] = {p:_local1.attachMovie("piece", "pcell" + _local1.depth, _local1.depth++), s:_local1.attachMovie("selected_piece", "scell" + _local1.depth, _local1.depth++)};
var _local2 = _local1.grid_mcs[j][k].p;
var _local3 = _local1.grid_mcs[j][k].s;
_local2._width = _piece_width;
_local2._height = _piece_height;
_local2._x = _local1.playing_area._x + (k * _local2._width);
_local2._y = _local1.playing_area._y + (j * _local2._height);
_local3._width = _piece_width;
_local3._height = _piece_height;
_local3._x = _local1.playing_area._x + (k * _local3._width);
_local3._y = _local1.playing_area._y + (j * _local3._height);
_local2.type = "piece";
_local3.type = "selected";
_local2._visible = true;
_local3._visible = false;
_local2.j = (_local3.j = j);
_local2.k = (_local3.k = k);
_local2.onMouseDown = (_local3.onMouseDown = _local1.press_piece);
_local2.useHandCursor = (_local3.useHandCursor = false);
k++;
}
j++;
}
};
CollapseGame.prototype.press_piece = function () {
var _local1 = this;
if (_local1._parent.mode != "play") {
} else if (_local1._currentframe == 1) {
} else if (_local1._parent.prompt._visible) {
} else if ((!_local1.hitTest(_root._xmouse, _root._ymouse, true)) || (!_local1._visible)) {
} else if ((getTimer() - _local1._parent.last_time_called) < 100) {
} else {
_local1._parent.last_time_called = getTimer();
if (_local1.type == "selected") {
if ((_local1._parent.selected_adjacents_count >= 1) || (_local1._parent.grid_mcs[_local1.j][_local1.k].s.cell.icon >= _local1._parent.num_pieces)) {
_local1._parent.change_mode("collapse");
if (_local1._parent.selected_special_piece == "bomb") {
_local1._parent.explode_pieces();
} else if (_local1._parent.selected_special_piece == "line_bomb") {
_local1._parent.remove_row_pieces(_local1.j);
} else if (_local1._parent.selected_special_piece == "color_bomb") {
_local1._parent.remove_random_color(_local1);
} else {
_local1._parent.collapse_pieces();
}
}
} else {
_local1._parent.select_adjacents(_local1.j, _local1.k);
_local1._parent.count_selected();
if (_local1._parent.__currently_selected__ >= 2) {
_local1._parent.play_sound("bonk");
}
}
}
};
CollapseGame.prototype.explode_pieces = function () {
var _local1 = this;
var exploders = _local1.get_exploders();
var count = 0;
_local1.num_checked_in = 0;
_local1.number_exploded = 0;
_local1.collapsing = [];
var j = 0;
while (j < _local1.num_rows) {
var k = 0;
while (k < _local1.num_columns) {
var p_mc = _local1.grid_mcs[j][k].p;
var s_mc = _local1.grid_mcs[j][k].s;
var cell = _local1.grid_cells[j][k];
var _local2 = 0;
while (_local2 < exploders.length) {
var ej = exploders[_local2].j;
var ek = exploders[_local2].k;
if ((Math.abs(ej - j) <= 1) && (Math.abs(ek - k) <= 1)) {
_local1.grid_mcs[j][k].p._visible = false;
_local1.grid_mcs[j][k].s._visible = false;
_local1.grid_cells[j][k].icon = 1;
count++;
var _local3 = _local1.attachMovie("explode_cloud", "cloud" + _local1.depth, _local1.depth++);
_local3._x = (_local1.playing_area._x + ((k * _local1.playing_area._width) / _local1.num_columns)) + (_local1.playing_area._width / (2 * _local1.num_columns));
_local3._y = (_local1.playing_area._y + ((j * _local1.playing_area._height) / _local1.num_rows)) + (_local1.playing_area._height / (2 * _local1.num_rows));
_local1.number_exploded++;
_local1.collapsing.push({j:j, k:k});
}
_local2++;
}
k++;
}
j++;
}
_local1.remove_redundant_indices(_local1.collapsing);
if (count != 0) {
_local1.play_sound("bomb_explode");
}
var sc = _local1.get_possible_score(count);
_local1.score = _local1.score + (sc + _local1.bomb_bonus_points);
};
CollapseGame.prototype.remove_redundant_indices = function (indices) {
var j = 0;
while (j < this.length) {
var _local1 = j + 1;
while (_local1 < this.length) {
var _local3 = indices[j];
var _local2 = indices[_local1];
if ((_local3.j == _local2.j) && (_local3.k == _local2.k)) {
indices.splice(_local1, 1);
_local1--;
}
_local1++;
}
j++;
}
};
CollapseGame.prototype.get_exploders = function () {
var _local1 = this;
var exploders = [];
var j = 0;
while (j < _local1.num_rows) {
var k = 0;
while (k < _local1.num_columns) {
var _local2 = _local1.grid_mcs[j][k].p;
var _local3 = _local1.grid_mcs[j][k].s;
var cell = _local1.grid_cells[j][k];
if (_local3._visible && (!_local2._visible)) {
exploders.push({j:j, k:k});
}
k++;
}
j++;
}
return(exploders);
};
CollapseGame.prototype.count_selected = function () {
var count = 0;
var _local2 = 0;
while (_local2 < this.num_rows) {
var _local1 = 0;
while (_local1 < this.num_columns) {
var _local3 = this.grid_mcs[_local2][_local1].s;
if (_local3._visible) {
count++;
}
_local1++;
}
_local2++;
}
this.__currently_selected__ = count;
this.selected_score.text = this.get_possible_score(count);
};
CollapseGame.prototype.check_shift_columns = function () {
var _local1 = this;
var middle = Math.floor(_local1.num_columns / 2);
var left = middle;
var right = (left + 1);
var bottom = (_local1.num_rows - 1);
var dir = -1;
var k = 0;
while (k < (left + 1)) {
if ((!_local1.grid_mcs[bottom][k].p._visible) && (!_local1.grid_mcs[bottom][k].s._visible)) {
var num_affected_columns = (k + 1);
var n = 0;
while (n < num_affected_columns) {
var _local3 = k + (n * dir);
var _local2 = 0;
while (_local2 < _local1.num_rows) {
_local1.grid_cells[_local2][_local3].icon = _local1.grid_cells[_local2][_local3 + dir].icon;
_local1.grid_mcs[_local2][_local3].s._visible = _local1.grid_mcs[_local2][_local3 + dir].s._visible;
_local1.grid_mcs[_local2][_local3].p._visible = _local1.grid_mcs[_local2][_local3 + dir].p._visible;
_local1.grid_mcs[_local2][_local3].s.gotoAndStop(_local1.grid_cells[_local2][_local3].icon);
_local1.grid_mcs[_local2][_local3].p.gotoAndStop(_local1.grid_cells[_local2][_local3].icon);
if ((_local3 == (_local1.num_columns - 1)) || (_local3 == 0)) {
_local1.grid_cells[_local2][_local3].icon = 1;
_local1.grid_mcs[_local2][_local3].s._visible = false;
_local1.grid_mcs[_local2][_local3].p._visible = false;
}
_local2++;
}
n++;
}
}
k++;
}
var dir = 1;
var k = (_local1.num_columns - 1);
while (k >= right) {
if ((!_local1.grid_mcs[bottom][k].p._visible) && (!_local1.grid_mcs[bottom][k].s._visible)) {
var num_affected_columns = (_local1.num_columns - k);
var n = 0;
while (n < num_affected_columns) {
var _local3 = k + (n * dir);
var _local2 = 0;
while (_local2 < _local1.num_rows) {
_local1.grid_cells[_local2][_local3].icon = _local1.grid_cells[_local2][_local3 + dir].icon;
_local1.grid_mcs[_local2][_local3].s._visible = _local1.grid_mcs[_local2][_local3 + dir].s._visible;
_local1.grid_mcs[_local2][_local3].p._visible = _local1.grid_mcs[_local2][_local3 + dir].p._visible;
_local1.grid_mcs[_local2][_local3].s.gotoAndStop(_local1.grid_cells[_local2][_local3].icon);
_local1.grid_mcs[_local2][_local3].p.gotoAndStop(_local1.grid_cells[_local2][_local3].icon);
if ((_local3 == (_local1.num_columns - 1)) || (_local3 == 0)) {
_local1.grid_cells[_local2][_local3].icon = 1;
_local1.grid_mcs[_local2][_local3].s._visible = false;
_local1.grid_mcs[_local2][_local3].p._visible = false;
}
_local2++;
}
n++;
}
}
k--;
}
};
CollapseGame.prototype.collapse_pieces = function () {
var _local1 = this;
_local1.collapsing = [];
_local1.num_checked_in = 0;
if (_local1.initial_collapse != undefined) {
_local1.num_checked_in = _local1.initial_collapse.length;
var j = 0;
while (j < _local1.initial_collapse.length) {
_local1.collapsing.push({j:_local1.initial_collapse[j].j, k:_local1.initial_collapse[j].k});
j++;
}
_local1.initial_collapse = undefined;
}
var count = 0;
var sc = 0;
var j = 0;
while (j < _local1.num_rows) {
var k = 0;
while (k < _local1.num_columns) {
var _local3 = _local1.grid_mcs[j][k].p;
var _local2 = _local1.grid_mcs[j][k].s;
var cell = _local1.grid_cells[j][k];
if (_local2._visible && (!_local3._visible)) {
_local2.j = j;
_local2.k = k;
_local3._visible = false;
cell.icon = 1;
_local2._mc.play();
_local1.collapsing.push({j:j, k:k});
sc = sc + _local1.points_per_block;
count++;
}
k++;
}
j++;
}
sc = _local1.get_possible_score(count);
_local1.last_collapse_score.text = sc;
_local1.score = _local1.score + sc;
var _num = new Number();
_local1.play_sound("multiple_rocks_fall" + _num.randi(1, 4));
if (count > 0) {
_local1.play_sound(_local1.collapse_sound);
}
if (count > 0) {
return(true);
}
return(false);
};
CollapseGame.prototype.remove_row_pieces = function (_row) {
var _local1 = this;
_local1.collapsing = [];
_local1.num_checked_in = 0;
var count = 0;
var sc = 0;
var j = _row;
var k = 0;
while (k < _local1.num_columns) {
var p_mc = _local1.grid_mcs[j][k].p;
var _local2 = _local1.grid_mcs[j][k].s;
var _local3 = _local1.grid_cells[j][k];
if (_local3.icon > 1) {
_local2.j = j;
_local2.k = k;
p_mc._visible = false;
_local3.icon = 1;
_local2._mc.play();
_local1.collapsing.push({j:j, k:k});
sc = sc + _local1.points_per_block;
count++;
}
k++;
}
_local1.score = _local1.score + _local1.line_bomb_bonus_points;
var _num = new Number();
_local1.play_sound("multiple_rocks_fall" + _num.randi(1, 4));
if (count > 0) {
_local1.play_sound(_local1.collapse_sound);
}
if (count > 0) {
return(true);
}
return(false);
};
CollapseGame.prototype.remove_random_color = function (_me) {
var _local1 = this;
_local1.collapsing = [];
_local1.num_checked_in = 0;
var _num = new Number();
var _remove_which = (_num.randi(1, _local1.number_start + 1) + 1);
var count = 0;
var sc = 0;
var j = 0;
while (j < _local1.num_rows) {
var k = 0;
while (k < _local1.num_columns) {
var p_mc = _local1.grid_mcs[j][k].p;
var _local2 = _local1.grid_mcs[j][k].s;
var _local3 = _local1.grid_cells[j][k];
if (_local3.icon == _remove_which) {
_local2.j = j;
_local2.k = k;
p_mc._visible = false;
_local3.icon = 1;
_local2._mc.play();
_local1.collapsing.push({j:j, k:k});
sc = sc + _local1.points_per_block;
count++;
} else if ((k == _me.k) && (j == _me.j)) {
_local2.j = j;
_local2.k = k;
p_mc._visible = false;
_local3.icon = 1;
_local2._mc.play();
_local1.collapsing.push({j:j, k:k});
sc = sc + _local1.points_per_block;
count++;
}
k++;
}
j++;
}
_local1.score = _local1.score + (_local1.color_bomb_bonus_points * count);
var _num = new Number();
_local1.play_sound("multiple_rocks_fall" + _num.randi(1, 4));
if (count > 0) {
_local1.play_sound(_local1.collapse_sound);
}
if (count > 0) {
return(true);
}
return(false);
};
CollapseGame.prototype.game_over = function () {
var _local1 = this;
_local1.change_mode("over");
_local1.play_sound("intro_music");
_local1.game_is_over = true;
_root.score = _local1.score.text;
_local1.game_over_prompt._visible = true;
_local1.game_over_prompt.swapDepths(_local1.depth++);
};
CollapseGame.prototype.check_in_collapsee = function () {
var _local2 = this;
_local2.num_checked_in++;
if (_local2.num_checked_in == _local2.collapsing.length) {
var _local1 = 0;
while (_local1 < _local2.collapsing.length) {
_local2.move_above_pieces_down(_local2.collapsing[_local1].j, _local2.collapsing[_local1].k);
_local1++;
}
_local2.check_shift_columns();
_local2.change_mode("play");
}
};
CollapseGame.prototype.check_in_explode = function (j) {
var _local1 = j;
var _local2 = this;
_local2.num_checked_in++;
if (_local2.num_checked_in == _local2.number_exploded) {
_local1 = 0;
while (_local1 < _local2.collapsing.length) {
_local2.move_above_pieces_down(_local2.collapsing[_local1].j, _local2.collapsing[_local1].k);
_local1++;
}
_local2.check_shift_columns();
_local2.change_mode("play");
}
};
CollapseGame.prototype.move_above_pieces_down = function (j, k) {
var _local2 = this;
var _local3 = k;
var _local1 = j;
while (_local1 >= 0) {
_local2.grid_cells[_local1][_local3].icon = _local2.grid_cells[_local1 - 1][_local3].icon;
_local2.grid_mcs[_local1][_local3].s._visible = _local2.grid_mcs[_local1 - 1][_local3].s._visible;
_local2.grid_mcs[_local1][_local3].p._visible = _local2.grid_mcs[_local1 - 1][_local3].p._visible;
_local2.grid_mcs[_local1][_local3].s.gotoAndStop(_local2.grid_cells[_local1 - 1][_local3].icon);
_local2.grid_mcs[_local1][_local3].p.gotoAndStop(_local2.grid_cells[_local1 - 1][_local3].icon);
if (_local1 == 0) {
_local2.grid_cells[_local1][_local3].icon = 1;
_local2.grid_mcs[_local1][_local3].s._visible = false;
_local2.grid_mcs[_local1][_local3].p._visible = false;
}
_local1--;
}
};
CollapseGame.prototype.move_all_pieces_up = function () {
var _local1 = this;
var _local3 = 0;
while (_local3 < _local1.num_rows) {
var _local2 = 0;
while (_local2 < _local1.num_columns) {
if (_local3 == 0) {
if (_local1.grid_cells[_local3][_local2].icon > 1) {
_local1.game_over();
return(false);
}
}
_local1.grid_cells[_local3][_local2].icon = _local1.grid_cells[_local3 + 1][_local2].icon;
_local1.grid_mcs[_local3][_local2].s._visible = false;
_local1.grid_mcs[_local3][_local2].p._visible = true;
_local1.grid_mcs[_local3][_local2].s.gotoAndStop(_local1.grid_cells[_local3 + 1][_local2].icon);
_local1.grid_mcs[_local3][_local2].p.gotoAndStop(_local1.grid_cells[_local3 + 1][_local2].icon);
if (_local3 == (_local1.num_rows - 1)) {
_local1.grid_cells[n][k].icon = 1;
_local1.grid_mcs[n][k].s._visible = false;
_local1.grid_mcs[n][k].p._visible = false;
}
_local2++;
}
_local3++;
}
return(true);
};
CollapseGame.prototype.select_adjacents = function (pj, pk) {
var _local3 = this;
_local3.unselect_all();
var cp_mc = _local3.grid_mcs[pj][pk].p;
var cs_mc = _local3.grid_mcs[pj][pk].s;
var ccell = _local3.grid_cells[pj][pk];
_local3.selected_adjacents_count = 0;
if (ccell.icon == _local3.bomb_number) {
_local3.selected_special_piece = "bomb";
} else if (ccell.icon == _local3.line_bomb_number) {
_local3.selected_special_piece = "line_bomb";
} else if (ccell.icon == _local3.color_bomb_number) {
_local3.selected_special_piece = "color_bomb";
} else {
_local3.selected_special_piece = "";
}
cp_mc._visible = false;
cs_mc._visible = true;
var radius = 3;
var found_adjacents = true;
while (found_adjacents) {
found_adjacents = false;
var j = 0;
while (j < radius) {
var _local2 = 0;
while (_local2 < radius) {
var index_j = ((pj - ((radius - 1) / 2)) + j);
var index_k = ((pk - ((radius - 1) / 2)) + _local2);
var _local1 = _local3.grid_mcs[index_j][index_k];
var cell = _local3.grid_cells[index_j][index_k];
if (_local3.is_adjacent_to_selected(_local1, cell, ccell)) {
_local1.s._visible = true;
_local1.p._visible = false;
found_adjacents = true;
_local3.selected_adjacents_count++;
}
_local2++;
}
j++;
}
radius = radius + 2;
}
};
CollapseGame.prototype.is_adjacent_to_selected = function (_mcs, cell, ccell) {
var _local3 = this;
if (_mcs.s._visible && (!_mcs.p._visible)) {
} else {
if (cell.icon == ccell.icon) {
var _local2 = _mcs.s.j;
var _local1 = _mcs.s.k;
if (_local3.grid_mcs[_local2 + 1][_local1].s._visible == true) {
return(true);
}
if (_local3.grid_mcs[_local2][_local1 + 1].s._visible == true) {
return(true);
}
if (_local3.grid_mcs[_local2][_local1 - 1].s._visible == true) {
return(true);
}
if (_local3.grid_mcs[_local2 - 1][_local1].s._visible == true) {
return(true);
}
}
return(false);
}
return(undefined);
};
CollapseGame.prototype.unselect_all = function () {
var _local2 = 0;
while (_local2 < this.num_rows) {
var _local1 = 0;
while (_local1 < this.num_columns) {
var _local3 = this.grid_mcs[_local2][_local1].p;
var s_mc = this.grid_mcs[_local2][_local1].s;
if (_local3._visible || (s_mc._visible)) {
_local3._visible = true;
s_mc._visible = false;
}
_local1++;
}
_local2++;
}
};
CollapseGame.prototype.onEnterFrame = function () {
var _local1 = this;
if (_local1.mode != "play") {
} else {
_local1.update_game_properties();
if (_local1.check_nomore_pieces()) {
_local1.waitID = setInterval(_local1.timeline, "hide_bonus_prompt", _local1.bonus_time);
}
}
};
CollapseGame.prototype.update_game_properties = function () {
var _local1 = this;
if (_local1.game_is_over == true) {
} else if (_local1.mode != "play") {
} else {
var _local3 = _local1.level_next_row_delay - (getTimer() - _local1.last_row_created);
if (_local3 <= 0) {
_local1.add_row_of_pieces();
}
_local1.score_var.text = _local1.score;
if ((getTimer() - _local1.game_start_time) < SECOND) {
} else {
_local1.game_start_time = getTimer();
_local3 = _local1.game_time_count++;
if (_local3 < 0) {
_local3 = 0;
}
var min = Math.floor(_local3 / 60);
var _local2 = _local3 % 60;
if (_local2 <= 9) {
_local2 = "0" + _local2;
}
_local1.game_time.text = (min + ":") + _local2;
}
}
};
CollapseGame.prototype.add_row_of_pieces = function () {
var _local1 = this;
_local1.last_row_created = getTimer();
_local1.play_sound("rock_slides_over");
if (!_local1.move_all_pieces_up()) {
} else {
var _local3 = _local1.next_piece_delay - (getTimer() - _local1.last_piece_created);
if (_local3 <= 0) {
_local1.next_piece_delay = _local1.next_piece_time * 1.5;
_local1.last_piece_created = getTimer();
_local1.number_start++;
if (_local1.number_start > _local1.num_pieces) {
_local1.number_start = _local1.num_pieces;
}
_local1.level_next_row_delay = _local1.level_next_row_delay - _local1.next_row_time_decrease;
if (_local1.level_next_row_delay < _local1.next_row_time_min) {
_local1.level_next_row_delay = _local1.next_row_time_min;
}
}
var _local2 = 0;
while (_local2 < _local1.num_columns) {
_local1.add_piece(_local2);
_local2++;
}
if (_local1.add_sound == undefined) {
_local1.add_sound = "rock_impact2";
}
}
};
CollapseGame.prototype.add_piece = function (col) {
var _local1 = this;
_local1.new_piece = _local1.attachMovie("piece", "piece" + _local1.depth, _local1.depth++);
var _special = false;
if (_local1.special_piece_time <= (getTimer() - _local1.special_piece_start)) {
if (_local1.bomb_order.length > 0) {
_local1.bombs_available_array.push(_local1.bomb_order.shift());
}
_local1.special_piece_start = getTimer();
}
if (_local1.bombs_available_array.length > 0) {
if (Math.random() < _local1.special_piece_probability) {
_special = true;
if ((_local1.number_start >= 5) && (_local1.bombs_available_array.return_indices("colorbomb") != -1)) {
var _local3 = Math.random();
if (_local3 < 0.33) {
var _local2 = _local1.total_number_pieces + 1;
} else if ((_local3 >= 0.33) && (_local3 < 0.66)) {
var _local2 = _local1.total_number_pieces - 1;
} else {
var _local2 = _local1.total_number_pieces;
}
} else if (Math.random() < 0.5) {
var _local2 = _local1.total_number_pieces + 1;
} else if (_local1.bombs_available_array.return_indices("linebomb") != -1) {
var _local2 = _local1.total_number_pieces;
}
}
}
if (_special == false) {
var _num = new Number();
var _local2 = _num.randi(1, _local1.number_start + 1) + 1;
}
if (_local2 == _local1.bomb_number) {
_local1.play_sound("bomb_appears");
}
_local1.new_piece.gotoAndStop(_local2);
_local1.new_piece.icon = _local2;
_local1.new_piece.next_fall_column = col;
_local1.new_piece.final_x = ((col * _local1.playing_area._width) / _local1.num_columns) + _local1.playing_area._x;
_local1.new_piece._width = _local1.playing_area._width / _local1.num_columns;
_local1.new_piece._height = _local1.playing_area._height / _local1.num_rows;
_local1.new_piece._x = -_local1.new_piece._width;
_local1.new_piece._y = _local1.playing_area._y + ((_local1.num_columns - 1) * _local1.new_piece._height);
_local1.add_piece_to_grid(col, _local2);
_local1.render_grid();
};
CollapseGame.prototype.move_new_piece = function () {
var _local1 = this;
_local1._x = _local1._x + ((_local1.final_x - _local1._x) / 4);
if (Math.abs(_local1._x - _local1.final_x) < 2) {
_local1._x = _local1.final_x;
if (_local1.placed_start_time == undefined) {
_local1.placed_start_time = getTimer();
}
if ((getTimer() - _local1.placed_start_time) >= 500) {
_local1._parent.add_piece_to_grid(_local1.next_fall_column, _local1.icon);
if (_local1._parent.add_sound != undefined) {
_local1._parent.play_sound(_local1._parent.add_sound);
_local1._parent.add_sound = undefined;
}
_local1._parent.check_shift_columns();
_local1._parent.render_grid();
_local1.onEnterFrame = undefined;
_local1.removeMovieClip();
}
}
};
CollapseGame.prototype.add_piece_to_grid = function (col, icon) {
var _local1 = this;
var _local2 = _local1.num_rows - 1;
_local1.grid_cells[_local2][col].icon = icon;
_local1.grid_mcs[_local2][col].p._visible = true;
_local1.render_grid();
};
CollapseGame.prototype.initialize_level = function () {
var _local1 = this;
_local1.level_next_row_delay = _local1.next_row_time;
_local1.last_row_created = getTimer();
_local1.game_start_time = getTimer();
_local1.next_piece_delay = _local1.next_piece_time;
_local1.last_piece_created = getTimer();
_local1.create_random_grid();
};
CollapseGame.prototype.create_random_grid = function () {
var _local1 = this;
_local1.grid_cells = [];
_local1.initial_collapse = [];
var _local3 = 0;
while (_local3 < _local1.num_rows) {
_local1.grid_cells[_local3] = [];
var _local2 = 0;
while (_local2 < _local1.num_columns) {
_local1.grid_cells[_local3][_local2] = {};
var _num = new Number();
_local1.grid_cells[_local3][_local2].icon = _num.randi(1, _local1.number_start + 1) + 1;
if (_local3 < _local1.number_hidden) {
_local1.grid_cells[_local3][_local2].icon = 1;
}
_local1.grid_cells[_local3][_local2].selected = false;
_local2++;
}
_local3++;
}
_local1.render_grid();
};
CollapseGame.prototype.render_grid = function () {
var j = 0;
while (j < this.num_rows) {
var k = 0;
while (k < this.num_columns) {
var _local1 = this.grid_cells[j][k];
var _local2 = this.grid_mcs[j][k].p;
var _local3 = this.grid_mcs[j][k].s;
_local2.cell = _local1;
_local3.cell = _local1;
if (_local1.icon > 1) {
_local3._visible = false;
_local2._visible = false;
if (_local1.selected) {
_local3._visible = true;
} else {
_local2._visible = true;
}
_local2.gotoAndStop(_local1.icon);
_local3.gotoAndStop(_local1.icon);
} else {
_local3._visible = false;
_local2._visible = false;
_local3.gotoAndStop(1);
_local2.gotoAndStop(1);
}
k++;
}
j++;
}
};
CollapseGame.prototype.check_special_piece = function () {
return(false);
};
CollapseGame.prototype.check_nomore_pieces = function () {
var _local2 = this;
var _local3 = _local2.num_rows - 1;
var _local1 = 0;
while (_local1 < _local2.num_columns) {
if (_local2.grid_mcs[_local3][_local1].s._visible || (_local2.grid_mcs[_local3][_local1].p._visible)) {
return(false);
}
_local1++;
}
_local2.change_mode("wait");
_local2.score = _local2.score + _local2.bonus_points;
_local2.timeline.attachMovie("bonus", "bonus", _local2.depth++);
_local2.bonus._x = (_local2.playing_area._width / 2) + _local2.playing_area._x;
_local2.bonus._y = (_local2.playing_area._height / 2) + _local2.playing_area._y;
_local2.bonus.bonus_var.text = ("Extra " + _local2.bonus_points) + " pts!";
return(true);
};
CollapseGame.prototype.hide_bonus_prompt = function () {
var _local1 = this;
_local1.bonus.removeMovieClip();
_local1.add_row_of_pieces();
_local1.change_mode("play");
clearInterval(_local1.waitID);
};
CollapseGame.prototype.play_sound = function (linkage) {
if (this.sound == "on") {
var _local1 = new Sound();
_local1.attachSound(linkage);
_local1.start(0, 1);
}
};
CollapseGame.prototype.get_possible_score = function (num_blocks) {
return(num_blocks * this.points_per_block);
};
CollapseGame.prototype.toggle_sound = function (_which) {
var _local1 = this;
_local1.sound = _which;
if (_local1.sound == "off") {
_local1.random_call_mc.stop();
_local1.background_music.stop();
} else {
_local1.play_background_music();
_local1.random_call_mc.play();
}
};
CollapseGame.prototype.play_background_music = function () {
var _local1 = this;
_local1.background_music = new Sound();
_local1.background_music.attachSound("background");
_local1.background_music.start();
_local1.background_music.timeline = _local1.timeline;
_local1.background_music.onSoundComplete = function () {
this.timeline.background_music.start();
};
};
CollapseGame.prototype.pause_game = function (_which) {
var _local1 = this;
if (_which == "pause") {
_local1.change_mode("pause");
_local1.pause_mc._visible = true;
_local1.pause_mc.swapDepths(_local1.depth++);
} else {
_local1.change_mode("play");
_local1.pause_mc._visible = false;
}
};
CollapseGame.prototype.change_mode = function (new_mode) {
var _local1 = this;
if (old_mode == "wait") {
clearInterval(_local1.waitID);
}
_local1.old_mode = _local1.mode;
_local1.mode = new_mode;
};
#endinitclip
this._x = (this._y = 0);
Instance of Symbol 78 MovieClip "game_over_prompt" in Symbol 95 MovieClip [CollapseGameSymbol] Frame 1
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 80 MovieClip "pause_mc" in Symbol 95 MovieClip [CollapseGameSymbol] Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 98 Button
on (release) {
getURL ("http://www.eyeland.com", "_self");
}
Symbol 115 MovieClip Frame 1
stop();
Instance of Symbol 114 MovieClip "swfloader" in Symbol 115 MovieClip Frame 1
onClipEvent (load) {
function strip_spaces(str) {
var _local2 = str;
var _local3 = new String("");
var _local1 = 0;
while (_local1 < _local2.length) {
if ((_local2.charAt(_local1) != " ") && (_local2.charAt(_local1) != ";")) {
_local3 = _local3 + _local2.charAt(_local1);
}
_local1++;
}
return(_local3);
}
function simple_script(action, timeline) {
action = strip_spaces(action);
if ((action.length > 0) && ((action.indexOf(")") != -1) && (action.indexOf("(") != -1))) {
var _local3 = action.split(".");
var timeline_action = _local3.pop();
var first_paren = timeline_action.indexOf("(");
var second_paren = timeline_action.indexOf(")");
var timeline_function = timeline_action.substr(0, first_paren);
var function_parameter = timeline_action.substr(first_paren + 1, second_paren - (first_paren + 1));
var _local2 = timeline;
var _local1 = 0;
while (_local1 < _local3.length) {
_local2 = _local2[_local3[_local1]];
_local1++;
}
if (function_parameter.indexOf("\"") != -1) {
function_parameter = function_parameter.substr(1, function_parameter.length - 2);
}
_local2[timeline_function](function_parameter);
}
}
function execute_action() {
var _local1 = _parent;
unloaded = true;
_local1._visible = false;
simple_script(_local1.play_action_val, _local1);
}
_parent.anim.gotoAndStop(1);
simple_script(_parent.init_action_val, _parent);
var done = false;
var unloaded = false;
var orig_x = _parent._x;
var orig_y = _parent._y;
var dist_x = (_parent._x + ((_parent._width * 2) / 3));
var dist_y = (_parent._y + ((_parent._height * 2) / 3));
var orig_a = _parent._alpha;
var accel_jump = 0.75;
var slow_factor = _parent.slow_factor_val;
var speed_factor = (1 + (slow_factor / (1 - slow_factor)));
var ready = false;
var perc_fadeout = 0;
_parent.perc._x = _parent.anim._x - (_parent.perc._width / 2);
_parent.perc._y = _parent.anim._y - (_parent.perc._height / 2);
if (slow_factor < 1) {
switch (_parent.xin_motion_val) {
case "Up" :
_parent._y = orig_y + (dist_y * 2);
break;
case "Down" :
_parent._y = orig_y - (dist_y * 2);
break;
case "Left" :
_parent._x = orig_x + (dist_x * 2);
break;
case "Right" :
_parent._x = orig_x - (dist_x * 2);
break;
case "Toward" :
_parent._xscale = (_parent._yscale = 1);
break;
case "None" :
_parent._alpha = 0;
}
} else {
ready = true;
}
}
onClipEvent (enterFrame) {
if (unloaded) {
return(undefined);
}
if (!ready) {
switch (_parent.xin_motion_val) {
case "Toward" :
_parent._xscale = _parent._xscale + ((100 - _parent._xscale) * slow_factor);
_parent._yscale = _parent._xscale;
if (_parent.xin_alphatype_val == "Yes") {
_parent._alpha = Math.round((orig_a / 100) * Math.max(0, Math.min(_parent._xscale, 100)));
}
if (Math.abs(100 - _parent._xscale) < 0.5) {
_parent._xscale = (_parent._yscale = 100);
_parent._alpha = orig_a;
ready = true;
}
break;
default :
_parent._x = _parent._x + ((orig_x - _parent._x) * slow_factor);
_parent._y = _parent._y + ((orig_y - _parent._y) * slow_factor);
if (_parent.xin_alphatype_val == "Yes") {
if (_parent.xin_motion_val == "None") {
_parent._alpha = _parent._alpha + ((orig_a - _parent._alpha) * slow_factor);
} else if (Math.abs(orig_x - _parent._x) > Math.abs(orig_y - _parent._y)) {
_parent._alpha = 100 - Math.round(((orig_a / 100) * (Math.min(dist_x, Math.abs(_parent._x - orig_x)) / dist_x)) * 100);
} else {
_parent._alpha = 100 - Math.round(((orig_a / 100) * (Math.min(dist_y, Math.abs(_parent._y - orig_y)) / dist_y)) * 100);
}
}
if (!(((_parent.xin_motion_val == "None") && (Math.abs(_parent._alpha - orig_a) <= 1)) || (((_parent.xin_motion_val != "None") && (Math.abs(_parent._y - orig_y) < 0.5)) && (Math.abs(_parent._x - orig_x) < 0.5)))) {
break;
}
_parent._x = orig_x;
_parent._y = orig_y;
_parent._alpha = orig_a;
ready = true;
}
} else if (!done) {
var rl = _root.getBytesLoaded();
var rt = (_root.getBytesTotal() * (_parent.perc_req_val / 100));
if ((rl > 10) && (rt > 10)) {
rl = Math.min(rl, rt);
var new_frame = (_parent.anim._currentframe + Math.ceil(((_parent.anim._totalframes * (rl / rt)) - _parent.anim._currentframe) / 4));
new_frame = Math.max(1, new_frame);
if (_parent.show_perc_val == "Yes") {
_parent.perc.text = Math.round(((new_frame - 1) / (_parent.anim._totalframes - 1)) * 100) + " %";
}
if (new_frame != _parent.anim._currentframe) {
_parent.anim.gotoAndStop(new_frame);
}
if ((_parent.anim._totalframes == _parent.anim._currentframe) && (rl >= rt)) {
done = true;
}
}
} else if (slow_factor < 1) {
switch (_parent.xout_motion_val) {
case "Down" :
if (_parent._y <= orig_y) {
_parent._y = orig_y + accel_jump;
}
_parent._y = orig_y + (Math.abs(_parent._y - orig_y) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_y, Math.abs(_parent._y - orig_y)) / dist_y) * 100);
if (_parent._y > (orig_y + (dist_y * 2))) {
execute_action();
}
break;
case "Up" :
if (_parent._y >= orig_y) {
_parent._y = orig_y - accel_jump;
}
_parent._y = orig_y - (Math.abs(_parent._y - orig_y) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_y, Math.abs(_parent._y - orig_y)) / dist_y) * 100);
if (_parent._y < (orig_y - (dist_y * 2))) {
execute_action();
}
break;
case "Right" :
if (_parent._x <= orig_x) {
_parent._x = orig_x + accel_jump;
}
_parent._x = orig_x + (Math.abs(_parent._x - orig_x) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_x, Math.abs(_parent._x - orig_x)) / dist_x) * 100);
if (_parent._x > (orig_x + (dist_x * 2))) {
execute_action();
}
break;
case "Left" :
if (_parent._x >= orig_x) {
_parent._x = orig_x - accel_jump;
}
_parent._x = orig_x - (Math.abs(_parent._x - orig_x) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_x, Math.abs(_parent._x - orig_x)) / dist_x) * 100);
if (_parent._x < (orig_x - (dist_x * 2))) {
execute_action();
}
break;
case "Away" :
if ((_parent._xscale >= 100) || (_parent._yscale >= 100)) {
_parent._xscale = (_parent._yscale = 100 - accel_jump);
}
_parent._xscale = (_parent._yscale = Math.max(0.5, 100 - ((100 - _parent._yscale) * speed_factor)));
perc_fadeout = 100 - Math.round(Math.max(0, Math.min(_parent._xscale, 100)));
if (_parent._xscale < 1) {
execute_action();
}
break;
default :
perc_fadeout = perc_fadeout + ((100 - perc_fadeout) * slow_factor);
if (Math.abs(perc_fadeout - 100) > 1) {
break;
}
execute_action();
}
if (!(_parent.xout_alphatype_val === "Yes")) {
} else {
_parent._alpha = (orig_a / 100) * (100 - perc_fadeout);
}
} else {
execute_action();
}
}
Symbol 194 Button
on (press) {
stopAllSounds();
this.gotoAndStop("Game");
}
Symbol 209 MovieClip Frame 1
function rand_str() {
var _local3 = "";
var len = 10;
var _local2 = "abcdefghijklmnopqrstuvwxyz";
var _local1 = 0;
while (_local1 < len) {
_local3 = _local3 + _local2.charAt(Math.floor(Math.random() * _local2.length));
_local1++;
}
return(_local3);
}
function rhex(num) {
var _local1 = num;
str = "";
j = 0;
while (j <= 3) {
str = str + (hex_chr.charAt((_local1 >> ((j * 8) + 4)) & 15) + hex_chr.charAt((_local1 >> (j * 8)) & 15));
j++;
}
return(str);
}
function str2blks_MD5(str) {
var _local1 = str;
nblk = ((_local1.length + 8) >> 6) + 1;
blks = new Array(nblk * 16);
i = 0;
while (i < (nblk * 16)) {
blks[i] = 0;
i++;
}
i = 0;
while (i < _local1.length) {
blks[i >> 2] = blks[i >> 2] | (_local1.charCodeAt(i) << ((i % 4) * 8));
i++;
}
blks[i >> 2] = blks[i >> 2] | (128 << ((i % 4) * 8));
blks[(nblk * 16) - 2] = _local1.length * 8;
return(blks);
}
function add2(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
function rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
function cmn(q, a, b, x, s, t) {
return(add2(rol(add2(add2(a, q), add2(x, t)), s), b));
}
function ff(a, b, c, d, x, s, t) {
var _local1 = b;
return(cmn((_local1 & c) | ((~_local1) & d), a, _local1, x, s, t));
}
function gg(a, b, c, d, x, s, t) {
return(cmn((b & d) | (c & (~d)), a, b, x, s, t));
}
function hh(a, b, c, d, x, s, t) {
return(cmn((b ^ c) ^ d, a, b, x, s, t));
}
function ii(a, b, c, d, x, s, t) {
return(cmn(c ^ (b | (~d)), a, b, x, s, t));
}
function calcMD5(str) {
x = str2blks_MD5(str);
a = 1732584193 /* 0x67452301 */;
b = -271733879;
c = -1732584194;
d = 271733878 /* 0x10325476 */;
i = 0;
while (i < x.length) {
olda = a;
oldb = b;
oldc = c;
oldd = d;
a = ff(a, b, c, d, x[i + 0], 7, -680876936);
d = ff(d, a, b, c, x[i + 1], 12, -389564586);
c = ff(c, d, a, b, x[i + 2], 17, 606105819);
b = ff(b, c, d, a, x[i + 3], 22, -1044525330);
a = ff(a, b, c, d, x[i + 4], 7, -176418897);
d = ff(d, a, b, c, x[i + 5], 12, 1200080426);
c = ff(c, d, a, b, x[i + 6], 17, -1473231341);
b = ff(b, c, d, a, x[i + 7], 22, -45705983);
a = ff(a, b, c, d, x[i + 8], 7, 1770035416);
d = ff(d, a, b, c, x[i + 9], 12, -1958414417);
c = ff(c, d, a, b, x[i + 10], 17, -42063);
b = ff(b, c, d, a, x[i + 11], 22, -1990404162);
a = ff(a, b, c, d, x[i + 12], 7, 1804603682);
d = ff(d, a, b, c, x[i + 13], 12, -40341101);
c = ff(c, d, a, b, x[i + 14], 17, -1502002290);
b = ff(b, c, d, a, x[i + 15], 22, 1236535329);
a = gg(a, b, c, d, x[i + 1], 5, -165796510);
d = gg(d, a, b, c, x[i + 6], 9, -1069501632);
c = gg(c, d, a, b, x[i + 11], 14, 643717713);
b = gg(b, c, d, a, x[i + 0], 20, -373897302);
a = gg(a, b, c, d, x[i + 5], 5, -701558691);
d = gg(d, a, b, c, x[i + 10], 9, 38016083);
c = gg(c, d, a, b, x[i + 15], 14, -660478335);
b = gg(b, c, d, a, x[i + 4], 20, -405537848);
a = gg(a, b, c, d, x[i + 9], 5, 568446438);
d = gg(d, a, b, c, x[i + 14], 9, -1019803690);
c = gg(c, d, a, b, x[i + 3], 14, -187363961);
b = gg(b, c, d, a, x[i + 8], 20, 1163531501);
a = gg(a, b, c, d, x[i + 13], 5, -1444681467);
d = gg(d, a, b, c, x[i + 2], 9, -51403784);
c = gg(c, d, a, b, x[i + 7], 14, 1735328473);
b = gg(b, c, d, a, x[i + 12], 20, -1926607734);
a = hh(a, b, c, d, x[i + 5], 4, -378558);
d = hh(d, a, b, c, x[i + 8], 11, -2022574463);
c = hh(c, d, a, b, x[i + 11], 16, 1839030562);
b = hh(b, c, d, a, x[i + 14], 23, -35309556);
a = hh(a, b, c, d, x[i + 1], 4, -1530992060);
d = hh(d, a, b, c, x[i + 4], 11, 1272893353);
c = hh(c, d, a, b, x[i + 7], 16, -155497632);
b = hh(b, c, d, a, x[i + 10], 23, -1094730640);
a = hh(a, b, c, d, x[i + 13], 4, 681279174);
d = hh(d, a, b, c, x[i + 0], 11, -358537222);
c = hh(c, d, a, b, x[i + 3], 16, -722521979);
b = hh(b, c, d, a, x[i + 6], 23, 76029189);
a = hh(a, b, c, d, x[i + 9], 4, -640364487);
d = hh(d, a, b, c, x[i + 12], 11, -421815835);
c = hh(c, d, a, b, x[i + 15], 16, 530742520);
b = hh(b, c, d, a, x[i + 2], 23, -995338651);
a = ii(a, b, c, d, x[i + 0], 6, -198630844);
d = ii(d, a, b, c, x[i + 7], 10, 1126891415);
c = ii(c, d, a, b, x[i + 14], 15, -1416354905);
b = ii(b, c, d, a, x[i + 5], 21, -57434055);
a = ii(a, b, c, d, x[i + 12], 6, 1700485571);
d = ii(d, a, b, c, x[i + 3], 10, -1894986606);
c = ii(c, d, a, b, x[i + 10], 15, -1051523);
b = ii(b, c, d, a, x[i + 1], 21, -2054922799);
a = ii(a, b, c, d, x[i + 8], 6, 1873313359);
d = ii(d, a, b, c, x[i + 15], 10, -30611744);
c = ii(c, d, a, b, x[i + 6], 15, -1560198380);
b = ii(b, c, d, a, x[i + 13], 21, 1309151649);
a = ii(a, b, c, d, x[i + 4], 6, -145523070);
d = ii(d, a, b, c, x[i + 11], 10, -1120210379);
c = ii(c, d, a, b, x[i + 2], 15, 718787259);
b = ii(b, c, d, a, x[i + 9], 21, -343485551);
a = add2(a, olda);
b = add2(b, oldb);
c = add2(c, oldc);
d = add2(d, oldd);
i = i + 16;
}
return(((rhex(a) + rhex(b)) + rhex(c)) + rhex(d));
}
var hex_chr = "0123456789abcdef";
Instance of Symbol 208 MovieClip "script" in Symbol 209 MovieClip Frame 1
onClipEvent (load) {
function pass() {
if (_parent.debug == "Yes") {
trace("link guard passed");
}
done = true;
_parent._parent.play();
}
function fail() {
if (_parent.debug == "Yes") {
trace("link guard failed");
}
done = true;
getURL (_parent.redir_url, "_top");
}
function get_domain(str) {
var _local1 = str;
_local1 = _local1.toLowerCase();
var _local2 = "http://";
if (_local1.indexOf(_local2) != -1) {
_local1 = _local1.substr(_local1.indexOf(_local2) + _local2.length);
}
if (_local1.indexOf("/") != -1) {
_local1 = _local1.substr(0, _local1.indexOf("/"));
}
return(_local1);
}
_parent._visible = false;
_parent._parent.stop();
var timer = getTimer();
var done = false;
var domain = get_domain(_parent.redir_url);
if (_root._url.toLowerCase().indexOf("file:///") == 0) {
pass();
} else if (_root._url.toLowerCase().indexOf(domain) == -1) {
fail();
} else if (_root.c == undefined) {
fail();
} else {
loadVariables (_parent.getgamekey_url, this);
}
}
onClipEvent (enterFrame) {
if (done) {
return(undefined);
}
if ((timer + _parent.delay) < getTimer()) {
fail();
}
}
onClipEvent (data) {
if (_root.c == _parent.calcMD5("the magic number equals " + this.k)) {
pass();
} else {
fail();
}
}