Frame 1
function heightmap(x, y) {
return(((level.charAt(((21 * x) + 20) - y) != "#") ? 1 : 0));
}
function selectBlock(x, y, a) {
dep = _root.map[(("blok" + x) + " ") + y].getDepth();
if (dep) {
_root.map[(("blok" + x) + " ") + y].removeMovieClip();
if (a) {
_root.map.attachMovie("blockR", (("blok" + x) + " ") + y, dep, {_x:((x + y) * 1.7) * SCALE, _y:((y - x) * SCALE) + (SCALE / 2)});
} else {
_root.map.attachMovie("block", (("blok" + x) + " ") + y, dep, {_x:((x + y) * 1.7) * SCALE, _y:((y - x) * SCALE) + SCALE});
}
}
}
function moveBlock(dir) {
tox = 0;
toy = 0;
switch (dir) {
case 0 :
tox = curx - 1;
toy = cury;
break;
case 1 :
tox = curx + 1;
toy = cury;
break;
case 2 :
tox = curx;
toy = cury - 1;
break;
case 3 :
tox = curx;
toy = cury + 1;
}
if (tox > lastx) {
tox = lastx;
}
if (heightmap(tox, toy) == 1) {
selectBlock(curx, cury, false);
selectBlock(tox, toy, true);
curx = tox;
cury = toy;
}
}
stop();
SCALE = 15.5789473684211;
level = "";
cury = 0;
curx = 0;
lcase = Math.round(Math.random() * 4);
if ((Key.getCode() >= 65) && (Key.getCode() <= 69)) {
lcase = Key.getCode() - 65;
}
switch (lcase) {
case 0 :
wan = "maze a";
level = "####### ############## # # ## ### # ### ##### # ## # # # # # ## # ####### # # ### ## # # # # # ## ### # ##### ### # ## # # # # # ## ### # # # ### ###### # # # # # ## # ### # ####### # ## # # # # ## ######### # ##### ## # # # # ############ # # # # ## # # # # ## ####### ### # # # ## # # # # ###### # ####### # #### # # # # # ## # # ### # # # ### ## # # # # ############ ##### # ## # # # # ## ##### # ### # ### ## # # # # # ## ### # ### ### # #### # # # # # # ## # ### # ### # # # ## # # # # # # #### # ##### # ### # ## # # # # # # ## ### # # # # # # #### # # # # # #### ######### # ### ## # # # # ## ### ### # ##### # ## # # # ######## ##### ##### ## # # # # # ## # # # # # ### # #### # # # # # ########## ### # ###### # # # # # ## ### # # # # # # # ## # # # # # # ## # # # ### # ##### ## # # # # # # #### ##### ### # ### ## # # # # ## ### # # ####### #### # # # # # ## # ### # ##### # # ## # # # # ###### ### # ########## # # # # ## # ### ##### # ### ## # # # # ## ##### # # ##### # ## # # # # # #### # ### # ##### #### # # # # # ## # # # ##### # ### ## # # # # # ## # ######### ### # ## # # # # # ## ### # ### ### # # ## # # # # # #### ##### # # ######## # # # # ## # # # # ### # ### ## # # # # # ## # # # ############## # # # # # # ## ### # # # # # # # ## # # # # # # ## # ######### # # #### # # # # # ## # # ### # # ##### ## # # # # ###### # ############## # # # #### # ### ##### # # ## # # # # # ## # ### ### # ##### ## # # # # # ## ### # # ### # ### ## # # # # # ## ######### # ### # ## # # # # # #### # # # # ####### ## # # # # # ## ### # ##### ### # ## # # # # ###### # ##### ##### ## # # # # # ## # # ##### # # # # ## # # # # # # # ## # # # # # # ##### ## # # # ##############@#######";
cury = 13;
break;
case 1 :
wan = "maze b";
level = "############# ######## # # ## ##### # # ### ###### # # # # # ## # ####### ##### # ## # # # ## ####### # ####### ## # # # #### # # ##### ##### ## # # # # ## ############# # #### # # # # ## ### # # # ### # # ## # # # # # ###### ######### # # ## # # # # # ## # # # # # # # ### ## # # # # # # # ## ##### # # ##### # ## # # # ## ################# ## # # ## # ### # ############ # # # # ## ### # # ##### ###### # # # ######## ##### # ### ## # # # # ## ####### ##### # # ## # # # ## ##### # ##### ### ## # # # # # #### # ##### # ### # ## # # # # # ## ##### # # # # ### ## # # # # # # ###### # ### # # # #### # # # # # ## ####### # ##### # ## # # # # # ## # # ### # # ##### ## # # # # # ######## # # ##### # ## # # # # ## ########### ### # ## # # ## ########### # ### ## # # # #### ##### # ##### # ## # # # # # ## ### # # ##### ### ## # # # # # # ## # ### # ### # # # ## # # # # # ###### # # # ####### ## # # # # # ## # # # # ##### ###### # # # # # ## ##### # ### ##### ## # # # ## ######### ### # # ## # # # # ######## ##### ### # ## # # # # ## ### # # # # # ### ## # # # # # # ## # ####### ### # #### # # # # # ## # # ####### ### # ## # # # # ## # ### ##### # ###### # # # # ## ### ##### ####### ## # # # # ## ### ### ### # ###### # # # #### ##### # ####### ## # # # ## ########### # ### ## # # # ###### # ######### # ## # # # ## # # ############# ## # # # ## # ##### # ### # #### # # # # # # ## # # ####### ### # ## # # # # # ## ##### # # ### ### ## # # # # ## # ##### ### ######## # # # # # ## ### # # # ##### # ## # # # # # #### # # # # ####### ## # # # # # ## ### # # # # ##### ## # # # # # # #### # # # # # # ###### # # # ####@#################";
cury = 7;
break;
case 2 :
wan = "maze c";
level = "####### ############## # # # # ## # # # ##### ##### ## # # # # # #### # ### ### # ### ## # # ## # ####### ##### #### # # # # # ###### # ##### ##### ## # # ######## ##### ### # ## # # ## # ####### ### # # ## # # # # # ######## # ### # ### ## # # # # # ## # ####### ####### ## # # # # # ## ### # ### # ### # ## # # # # ###### ######### # #### # # # # #### # ####### ### # ## # # # # # ## ### ### # # ##### ## # # ## ### ### # # ######## # # # # #### # ####### ##### ## # # #### ### ######### #### # # # # # #### # # # ### ######## # # ## ### # ####### ###### # # # # # ## # # # # # # # ### ## # # # # ########## ##### ###### # # # # #### # # ####### # # ## # # # # # # ## ### # # # ##### # ## # # # # ## # ### ####### ### ## # # # # ## ######### ##### #### ###### # ### # # ###### # # # # # # # ## ### ### # # ### # ## # # # ############ ##### #### # # # # ###### # # # ##### # ## # # # # # ## # # # # # # # # #### # # # # # # ######## # ######### ## # # # #### ### ##### # ### ## # # # # ## ##### # ####### # ## # # # # ## ######### # # ### ## # # # # ######## # # # # ### ## # # # # ######## # ### ### # ## # # # # # ## ### # ### ### # #### # # # # # ## ### ### ##### # # ## # # # # ## ### ### # ##### # ## # # # # # # # ## # # ####### ### # ## # # # # # #### ### # # ### # #### # # # ## # # ##### ### ### ## # # # # # # ## # # # # ##### ### ## # # # # # # # # ## # ### # # # ### # ## # # # # #### # # # ##### ### ## # # # # # ## ### ##### ### ###### # # # # ###### # # ##### ###### # # # ## # # ### # # # # #### # # # # # # #### ##### ######### ## # # # ## ##### # ### ### #### # # # #### # ##### ########## # ####################@#";
cury = 13;
break;
case 3 :
wan = "maze d";
level = "############### ###### # # #### ##### # ### # #### # # # # # # # ## # # ### # ### # # ## # # # # ## ##### ######### #### # # # # ## ### # ##### ##### ## # # # # ## # # # # # # ##### ## # # # # ## ### ######### # # ## # # # # # ## ####### ### ### #### # # # # # # ## # # ### ##### ### ## # # # # #### # ##### # # ###### # # ## ### # ### # ### # ## # # # # # ## ##### # # ########## # # # ###### ### ### # ### ## # # # # # # ## # # ######### # # ## # # # ## ##### ####### ###### # # # ## ####### # # # # #### # # # # ########## ### # ### ## # # # # #### # # ### ##### # ## # # # # # ######## # ##### # #### # ## # ### # # ### ###### # # # # # # # ## ### # ### ### # # ## # # # # # ## ### # ##### # ### ## # # # # # # ## ####### ### # # #### # # # # # ## # # ####### # # # ## # # # # # ############ # # # # ## # # # # ###### ##### ### ### ## # # # # #### # ### # # # ### ## # # # # # ######## # ####### #### # ###### ### # ### ### ## # # # # ###### # ### ### ### ## # # # ######## # ### # ###### # # # # ######## ##### # # #### # # # # # #### ####### ### # # ## # # # ## # # ### ##### ### ## # # # # #### # ### ############ # # ## ####### ### ### # ## # # # # # ###### # ####### ### ## # # # ## # ##### ##### ###### # # # # # # ## ####### # # # # # ## # # # ###### ### ######### ## # # # # ## ### # ### # ##### ## # # # #### ######### # ### ## # # # # # # ## ##### # ##### # # ## # # # #### # ##### ### # # ## # # # ###### ##### ####### ## # # ## # ### ### ####### ## # # # # # ###### # # ### # # #### # # # # # #### # # ####### # #### # # # ## # ##### ######### ## # # # # #### ### ### ### ###### # ############@#########";
cury = 5;
break;
case 4 :
wan = "maze e";
level = "####### ############## # # ## # # # # ############ # # # # ## ### ### # # # ### ## # # # # # # # # ## # # # ### # # # # ## # # # # # # ## # ##### ### ##### ## # # # # ## ### # # ##### ###### # # # # #### # ##### # ### # ## # # # # # ## ##### # ##### ### ## # # # # ######## # # ### # #### # # # # ## # # ### ####### # ## # # # # # ## # ######### # ### ## # # # ## ####### # ####### ## # # # # #### # # ##### # ###### # # # # ## ####### # # ##### ## # # # # ## # # ##### ##### # ## # # # # ## ##### # ### ##### ## # # # # # # ## # ##### # # # ### ## # # # # ## ### # ##### ######## # # # # ## ### ##### ### # # ## # # # # # ## # ### ##### ### # ## # # # # ## ######### ### ### ## # # # # #### # ##### # ##### ## # # # #### ##### ####### #### # # # # ## ### # # # ### ### ## # # # # ###### # # ### ######## # # # # ## # ### ##### # ###### # # # # ## # # ### ##### ### ## # # # # ######## ##### # # #### # # # # ## ####### # # ##### ## # # # # #### # ##### # # # #### # # # # # ## ##### # # ### ###### # # # # ## # ##### # # ##### ## # # # # # ## # # ### # ### ###### # # # # # #### ######### # # # ## # # # # # ## # # ### # # # # # ## # # # # # # ## # ### ########### ## # # # # # ## ### # # ### # # # ## # # # # # ## ############### # ## # # # ## ##### # ##### # # ## # # # # # # #### # # ### ### # # ## # # # # ## ####### # ########## # # # # ###### # ##### # # # ## # # # # ###### ####### # # #### # # # # ## # ####### # # ### ## # # # # # ###### # # # # # ### ## # # # # ## ################# ## # # # # #### # # # # ### # # ## # # # # # ## ### ####### # ###### # # # # ## # ### # # ####### ## # # # # # ## ########### # # # ## # ############@#########";
cury = 13;
}
mazelabel.gotoAndStop(wan);
frames = 0;
depth = 1048575 /* 0x0FFFFF */;
scrollx = 110;
scrolly = 0;
t = getTimer();
_root.createEmptyMovieClip("map", getNextHighestDepth());
x = 0;
while (x <= 20) {
y = 20;
while (y >= 0) {
z = heightmap(x, y);
_root.map.attachMovie("block", (("blok" + x) + " ") + y, depth--, {_x:((x + y) * 1.7) * SCALE, _y:((y - x) * SCALE) + (z * SCALE)});
y--;
}
x++;
}
_root.lastx = 20;
selectBlock(curx, cury, true);
_root.onEnterFrame = function () {
map._x = scrollx;
map._y = scrolly;
scrolly = scrolly - ((scrolly - ((-((cury - curx) * SCALE)) + 200)) / 10);
scrollx = scrollx - ((scrollx - ((-(((curx + cury) * 1.7) * SCALE)) + 200)) / 10);
frames++;
if ((frames == 50) && (curx > 0)) {
lastx = lastx + 1;
y = 20;
while (y >= 0) {
z = heightmap(lastx, y);
map[(("blok" + (lastx - 21)) + " ") + y].removeMovieClip();
map.attachMovie("block", (("blok" + lastx) + " ") + y, depth--, {_x:((lastx + y) * 1.7) * SCALE, _y:((y - lastx) * SCALE) + (z * SCALE)});
y--;
}
}
if (frames % 2) {
if (Key.isDown(37)) {
moveBlock(2);
}
if (Key.isDown(39)) {
moveBlock(3);
}
if (Key.isDown(38)) {
moveBlock(1);
}
if (Key.isDown(40)) {
moveBlock(0);
}
}
if (level.charAt(((21 * curx) + 20) - cury) == "@") {
gotoAndPlay ("winner");
}
if ((curx > lastx) || (curx <= (lastx - 21))) {
gotoAndPlay ("gameover");
}
frames = frames % 50;
};
Frame 2
gotoAndPlay (1);
Frame 3
stop();
for (var i in this) {
if (typeof(this[i]) == "movieclip") {
this[i].removeMovieClip();
}
}
_root.onEnterFrame = function () {
};
Frame 4
gotoAndPlay ("winner");
Frame 5
stop();
for (var i in this) {
if (typeof(this[i]) == "movieclip") {
this[i].removeMovieClip();
}
}
_root.onEnterFrame = function () {
};
Frame 6
gotoAndPlay ("gameover");
Symbol 17 Button
on (release) {
getURL ("http://engramstudio.com");
}
Symbol 20 Button
on (release) {
getURL ("http://scenemusic.net/");
}
Symbol 24 Button
on (release) {
gotoAndPlay (1);
}