Instance of Symbol 25 MovieClip in Frame 1
onClipEvent (load) {
gravity = 10;
scale = _xscale;
walkSpeed = 6;
maxjump = 6;
}
onClipEvent (enterFrame) {
if (air == true) {
_y = (_y + gravity);
state = 3;
}
if (Key.isDown(37) && (!_root.leftbound.hitTest(_x, _y, true))) {
_x = (_x - walkSpeed);
_xscale = (-scale);
}
if (Key.isDown(39) && (!_root.rightbound.hitTest(_x, _y, true))) {
_x = (_x + walkSpeed);
_xscale = scale;
}
if (_root.platforms.hitTest(_x, _y, true)) {
air = false;
} else {
air = true;
}
if (Key.isDown(32) && (jump == true)) {
_y = (_y - jumpSpeed);
}
if (air == false) {
jump = true;
jumpcount = 0;
jumpSpeed = 22;
}
if (Key.isDown(32)) {
jumpcount = jumpcount + 1;
}
if ((jumpcount > maxjump) && (jumpSpeed > -2)) {
jumpSpeed = jumpSpeed - 2;
}
if (((((air == false) && (!Key.isDown(37))) && (!Key.isDown(65))) && (_currentframe < 4)) or ((((air == false) && (!Key.isDown(39))) && (!Key.isDown(65))) && (_currentframe < 4))) {
state = 1;
}
if ((((Key.isDown(37) && (air == false)) && (!Key.isDown(65))) && (_currentframe < 4)) or (((Key.isDown(39) && (air == false)) && (!Key.isDown(65))) && (_currentframe < 4))) {
state = 2;
}
if (!Key.isDown(65)) {
gotoAndStop(state);
}
_root.statetxt = state;
}
onClipEvent (keyUp) {
if (Key.getCode() == 83) {
jump = false;
}
}
Instance of Symbol 33 MovieClip "PLATFORMS" in Frame 1
onClipEvent (enterFrame) {
if (_root.deathTrap.hitTest(_x, _y, true)) {
gotoAndStop(deathFrame);
}
}
Instance of Symbol 35 MovieClip "leftbound" in Frame 1
onClipEvent (load) {
function makeLevel(num, clips, xArray, yArray, tArray, password) {
var _local1 = clips;
var _local2 = tArray;
var _local3 = xArray;
levelName = "level" + num;
levels[levelName] = {};
levels[levelName].clips = _local1;
passwords.push(password);
a = 1;
while (a <= _local1) {
name = "clip" + a;
levels[levelName][name] = {};
levels[levelName][name].x = _local3[a - 1];
levels[levelName][name].y = yArray[a - 1];
levels[levelName][name].type = _local2[a - 1];
a++;
}
}
function loadLevel() {
world._x = 0;
a = 1;
while (a <= levels[levelName].clips) {
name = "clip" + a;
world[name].removeMovieClip();
a++;
}
level = level + 1;
levelName = "level" + level;
energy1 = 100;
energyClip1._width = 100;
energy2 = 100;
energyClip2._width = 100;
char._xscale = 100;
char.xSpeed = 0;
char.jump = false;
char.ySpeed = 0;
inPlay = false;
readyClip.play();
a = 1;
while (a <= levels[levelName].clips) {
name = "clip" + a;
typeNum = levels[levelName][name].type;
type = clipArray[typeNum - 1];
depth = 100 + a;
world.attachMovie(type, name, depth);
world[name]._x = levels[levelName][name].x;
world[name]._y = levels[levelName][name].y;
world[name].type = typeNum;
a++;
}
}
function checkForKeys() {
if (Key.isDown(37)) {
if (char.xSpeed < 0) {
char.xSpeed = 0;
}
char.xSpeed = char.xSpeed + 0.5;
char._xscale = -100;
} else if (Key.isDown(39)) {
if (char.xSpeed > 0) {
char.xSpeed = 0;
}
char.xSpeed = char.xSpeed - 0.5;
char._xscale = 100;
} else {
char.xSpeed = 0;
}
if ((Key.isDown(38) && (char.jump != true)) && (char.falling == false)) {
char.ySpeed = 12.5;
char.jump = true;
}
if (char.jump == true) {
char.ySpeed = char.ySpeed - 0.5;
}
if (char.ySpeed <= -12.5) {
char.ySpeed = 0;
char.jump = false;
}
char._y = char._y - char.ySpeed;
world._x = world._x + char.xSpeed;
}
function checkForCollisions() {
if ((char._y <= 250) && (char.jump == false)) {
char.ySpeed = -5;
char.falling = true;
} else if ((char._y > 250) && (char.jump == false)) {
char.ySpeed = 0;
char.falling = false;
}
a = 1;
while (a <= levels[levelName].clips) {
name = "clip" + a;
if (char.hitTest(world[name])) {
if (world[name].type == 1) {
energy1 = energy1 - 2.5;
oldSpeed = char.xSpeed;
if (char.xSpeed > 0) {
char.xSpeed = char.xSpeed - 2.5;
} else {
char.xSpeed = char.xSpeed + 2.5;
}
if (((char.xSpeed < 0) && (oldSpeed > 0)) || ((char.xSpeed > 0) && (oldSpeed < 0))) {
char.xSpeed = 0;
}
} else if (world[name].type == 2) {
energy2 = energy2 - 1;
oldSpeed = char.xSpeed;
if (char.xSpeed > 0) {
char.xSpeed = char.xSpeed - 2.5;
} else {
char.xSpeed = char.xSpeed + 2.5;
}
if (((char.xSpeed < 0) && (oldSpeed > 0)) || ((char.xSpeed > 0) && (oldSpeed < 0))) {
char.xSpeed = 0;
}
} else if ((world[name].type == 3) && (world[name]._visible == true)) {
energy1 = energy1 + 5;
world[name]._visible = false;
} else if (world[name].type >= 4) {
if (char._y <= (world[name]._y - 90)) {
char.ySpeed = 0;
char.jump = false;
char.falling = false;
}
}
}
a++;
}
}
function checkGame() {
if (energy1 > 100) {
energy1 = 100;
}
if (world._x <= (-levels[levelName]["clip" + levels[levelName].clips].x)) {
loadLevel();
}
if ((energy1 <= 0) || (energy2 <= 0)) {
inPlay = false;
gameOver._visible = true;
gameOver.wrongPassword._visible = false;
}
energyClip1._width = energy1;
energyClip2._width = energy2;
}
level = 0;
levels = {};
clipArray = ["cone", "snow", "snowball", "platform", "bigPlatform"];
passwords = [];
_root.createEmptyMovieClip("world", 30);
_root.attachMovie("character", "char", 1000);
_root.attachMovie("bigPlatform", "ground", 20);
_root.attachMovie("energy", "energyClip1", 40);
_root.attachMovie("energy", "energyClip2", 50);
_root.attachMovie("ready", "readyClip", 5000);
_root.attachMovie("gameOver", "gameOver", 6000);
char._y = 250;
char._x = 25;
char.jump = false;
ground._y = 350;
energyClip2._x = 450;
readyClip._x = 100;
readyClip._y = 100;
gameOver._visible = false;
makeLevel(1, 50, [250, 500, 750, 800, 850, 700, 750, 800, 850, 900, 1100, 1300, 1600, 2000, 2300, 2500, 3000, 3200, 3300, 3500, 3600, 3800, 4000, 4500, 4550, 4600, 5000, 5100, 5150, 5500, 5800, 5850, 5900, 5950, 6000, 6300, 6600, 6750, 6900, 7050, 7500, 7550, 7600, 7650, 7700, 7750, 7800, 7850, 7900, 7950], [300, 300, 240, 190, 190, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 240, 300, 180, 300, 120, 300, 70, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300], [3, 1, 4, 1, 3, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 3, 4, 1, 4, 2, 5, 1, 3, 1, 1, 3, 2, 1, 3, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], "level 1");
makeLevel(2, 40, [125, 175, 225, 250, 300, 400, 500, 600, 750, 1000, 1100, 1200, 1300, 1500, 1600, 1650, 1700, 1750, 1800, 2000, 2500, 2550, 2600, 2650, 2800, 2950, 3500, 3600, 3600, 3650, 3700, 3700, 3750, 3800, 3800, 3800, 3850, 3900, 3900, 3950, 4500], [300, 300, 300, 200, 150, 150, 150, 150, 150, 300, 300, 300, 240, 180, 130, 120, 70, 190, 300, 300, 300, 300, 300, 300, 300, 250, 200, 150, 150, 150, 100, 100, 100, 200, 100, 50, 50, 300, 300], [1, 1, 1, 5, 1, 1, 1, 2, 3, 1, 1, 3, 5, 4, 1, 4, 1, 3, 2, 1, 1, 1, 1, 2, 2, 5, 4, 1, 1, 4, 1, 1, 4, 1, 1, 3, 4, 1, 1, 4, 1, 1], "letItSnow");
loadLevel();
_root.onEnterFrame = function () {
if (inPlay == true) {
checkForKeys();
checkForCollisions();
checkGame();
}
};
}