Frame 1
stop();
Frame 3
if (_global.sound == undefined) {
_global.sound = new Sound();
sound.attachSound("mainSong");
sound.start(0, 1000);
}
var run = new Level();
Frame 4
stop();
Symbol 7 Button
on (release) {
gotoAndStop (2);
}
Symbol 25 MovieClip [__Packages.Level] Frame 0
class Level
{
var puSound, cDepth, score, maxCount, base, bmp, ndSig, pc, doors, pickup, nextPx, pickCount, levelNum;
function Level () {
puSound = new Sound();
puSound.attachSound("pickup");
cDepth = 10;
score = 0;
maxCount = 2;
base = _root.createEmptyMovieClip("base", cDepth++);
bmp = new flash.display.BitmapData(400, 60, false, 16777215);
base.attachBitmap(bmp, cDepth++);
ndSig = base.attachMovie("newsdeeSig", "ndSig", 12);
ndSig._x = base._width - 40;
ndSig._y = base._height - 12;
pc = new Player(bmp);
pc._x = 10;
pc._y = 10;
doors = new Array(20);
level1(bmp);
_global.level = this;
base.onEnterFrame = baseRun;
pickup = new Pickup(bmp);
pickup.setXY(380, 25);
nextPx = 225;
pickCount = 0;
levelNum = 1;
}
function baseRun() {
_global.level.run();
}
function run() {
var _local2 = 0;
while (_local2 < doors.length) {
var _local3 = doors[_local2];
_local3.displayMove();
_local2++;
}
pickup.displayMove();
pc.run();
var _local4 = pc.getHp();
if (_local4 <= 0) {
gameover();
}
drawHp(_local4);
var _local5 = pc.stuff;
if (_local5) {
pc.removeStuff();
puSound.start(0, 0);
score = score + 1;
pickup.setXY(nextPx, Math.floor(Math.random() * 50) + 5);
pickCount++;
if (pickCount > maxCount) {
nextLevel();
}
switch (nextPx) {
case 380 :
nextPx = 225;
break;
case 225 :
nextPx = 25;
break;
case 25 :
nextPx = 380;
}
}
}
function drawHp(remain) {
lineV(bmp, 1, 0, 60, 16777215);
lineV(bmp, 2, 0, 60, 16777215);
lineV(bmp, 3, 0, 60, 16777215);
lineV(bmp, 0, 0, 60, 16777215);
lineV(bmp, 1, 60 - remain, 60, 56576);
lineV(bmp, 2, 60 - remain, 60, 56576);
lineV(bmp, 3, 60 - remain, 60, 56576);
lineV(bmp, 0, 60 - remain, 60, 56576);
lineV(bmp, 4, 0, 60, 0);
}
function lineV(bmp, x, y, yD, col) {
if (yD < y) {
return(undefined);
}
var _local2 = yD - y;
var _local1 = 0;
while (_local1 < _local2) {
bmp.setPixel(x, y + _local1, col);
_local1++;
}
}
function level1(bmp) {
var _local3 = doors;
var _local2 = new Door(bmp);
_local2._x = 50;
_local2._y = 30;
_local3[0] = _local2;
_local2 = new Door(bmp);
_local2._x = 100;
_local2._y = 0;
_local3[1] = _local2;
_local2 = new Door(bmp);
_local2._x = 150;
_local2._y = 45;
_local2.setUp(true);
_local2.setMove(true);
_local3[2] = _local2;
_local2 = new Door(bmp);
_local2._x = 200;
_local2._y = 0;
_local2.setUp(false);
_local2.setMove(true);
_local3[3] = _local2;
_local2 = new Door(bmp);
_local2.init(250, 30, 170);
_local2.setUp(false);
_local2.setMove(true);
_local3[5] = _local2;
_local2 = new Door(bmp);
_local2.init(300, 10, 170);
_local2.setUp(true);
_local2.setMove(true);
_local2.setSpeed(2);
_local3.push(_local2);
_local2 = new Door(bmp);
_local2.init(350, 25, 11141120);
_local3.push(_local2);
}
function buildDoor(x, proba) {
var _local2 = new Door(bmp);
var _local3 = 170;
if (Math.random() < (proba / 3)) {
_local2.setSpeed(2);
} else if (Math.random() < (proba / 3)) {
_local2.setMove(false);
}
if (Math.random() < proba) {
_local3 = 11141120 /* 0xAA0000 */;
}
var _local5 = Math.random() > 0.5;
var _local4 = Math.random() > 0.2;
var _local7 = Math.random() * levelNum;
_local2.init(x, Math.floor(Math.random() * 60), _local3);
_local2.setMove(_local4);
_local2.setUp(_local5);
doors.push(_local2);
}
function flushDoors() {
while (doors.length > 0) {
doors.pop();
}
}
function nextLevel() {
maxCount = 2;
levelNum++;
pickCount = 0;
flushDoors();
var _local2 = (levelNum * 10) + 25;
if (_local2 > 100) {
_local2 = 100;
}
_local2 = _local2 / 100;
buildDoor(50, _local2);
buildDoor(100, _local2);
buildDoor(150, _local2);
buildDoor(200, _local2);
buildDoor(250, _local2);
buildDoor(300, _local2);
buildDoor(350, _local2);
}
function gameover() {
_root.nextFrame();
bmp.dispose();
_root.score.text = score;
base.onEnterFrame = null;
}
}
Symbol 26 MovieClip [__Packages.Player] Frame 0
class Player
{
var bmp, hp, stuff, _x, _y;
function Player (_bmp) {
bmp = _bmp;
hp = 60;
stuff = false;
}
function run() {
displayMove();
}
function removeStuff() {
stuff = false;
}
function draw(col) {
bmp.setPixel(_x, _y - 2, col);
bmp.setPixel(_x, _y - 1, col);
bmp.setPixel(_x - 1, _y - 1, col);
bmp.setPixel(_x + 1, _y - 1, col);
bmp.setPixel(_x, _y, col);
bmp.setPixel(_x + 1, _y + 1, col);
bmp.setPixel(_x + 1, _y + 2, col);
bmp.setPixel(_x - 1, _y + 1, col);
bmp.setPixel(_x - 1, _y + 2, col);
}
function updateHp(num) {
hp = hp + num;
if (hp < 0) {
hp = 0;
} else if (hp > 60) {
hp = 60;
}
}
function getHp() {
return(hp);
}
function goCheckH(x, y, diff) {
var _local2 = true;
_local2 = _local2 & (bmp.getPixel(x + diff, y) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + diff, y - 1) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + diff, y + 1) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + diff, y - 2) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + diff, y + 2) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + diff, y - 3) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + diff, y + 3) == 16777215);
if (!_local2) {
var _local6 = bmp.getPixel(x + diff, y);
if (_local6 == 11141120) {
updateHp(-1);
} else if ((_local6 == 16763904) || (_local6 == 16737792)) {
stuff = true;
}
}
return(_local2);
}
function goCheckV(x, y, diff) {
var _local2 = true;
_local2 = _local2 & (bmp.getPixel(x, y + diff) == 16777215);
_local2 = _local2 & (bmp.getPixel(x - 1, y + diff) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + 1, y + diff) == 16777215);
_local2 = _local2 & (bmp.getPixel(x - 2, y + diff) == 16777215);
_local2 = _local2 & (bmp.getPixel(x + 2, y + diff) == 16777215);
if (!_local2) {
if (bmp.getPixel(x, y + diff) == 11141120) {
updateHp(-1);
} else if (bmp.getPixel(x, y + diff) == 16763904) {
stuff = true;
}
}
return(_local2);
}
function displayMove() {
draw(16777215);
if (Key.isDown(37)) {
if (goCheckH(_x, _y, -3)) {
_x--;
}
}
if (Key.isDown(39)) {
if (goCheckH(_x, _y, 3)) {
_x++;
}
}
if (Key.isDown(38)) {
if (goCheckV(_x, _y, -3)) {
_y--;
}
}
if (Key.isDown(40)) {
if (goCheckV(_x, _y, 3)) {
_y++;
}
}
if (_y < 3) {
_y = 3;
}
if (_y > 56) {
_y = 56;
}
if (_x < 3) {
_x = 3;
}
if (_x > 396) {
_x = 396;
}
draw(0);
}
}
Symbol 27 MovieClip [__Packages.Pickup] Frame 0
class Pickup
{
var bmp, colOut, colIn, moveStatus, moveTimer, _x, _y;
function Pickup (_bmp) {
bmp = _bmp;
colOut = 16737792 /* 0xFF6600 */;
colIn = 16763904 /* 0xFFCC00 */;
moveStatus = true;
moveTimer = 0;
}
function displayMove() {
moveTimer++;
if (moveTimer > 60) {
moveStatus = !moveStatus;
moveTimer = 0;
}
if (moveStatus) {
drawMe(colIn, colOut);
} else {
drawMe(colOut, colIn);
}
}
function drawMe(colI, colO) {
bmp.setPixel(_x, _y, colI);
bmp.setPixel(_x - 1, _y, colI);
bmp.setPixel(_x + 1, _y, colI);
bmp.setPixel(_x, _y - 1, colI);
bmp.setPixel(_x, _y + 1, colI);
bmp.setPixel(_x + 1, _y + 1, colO);
bmp.setPixel(_x + 1, _y - 1, colO);
bmp.setPixel(_x - 1, _y + 1, colO);
bmp.setPixel(_x - 1, _y - 1, colO);
}
function setXY(x, y) {
drawMe(16777215, 16777215);
_x = x;
_y = y;
displayMove();
}
}
Symbol 28 MovieClip [__Packages.Door] Frame 0
class Door
{
var bmp, _x, _y, col, speed, isMoving, isUp;
function Door (_bmp) {
bmp = _bmp;
_x = 0;
_y = 0;
col = 170;
speed = 1;
}
function init(x, y, _col) {
_x = x;
_y = y;
col = _col;
}
function setMove(bln) {
isMoving = true;
}
function setUp(bln) {
isUp = bln;
}
function setSpeed(spd) {
speed = spd;
}
function lineV(bmp, x, y, yD, col) {
if (yD < y) {
return(undefined);
}
var _local2 = yD - y;
var _local1 = 0;
while (_local1 < _local2) {
bmp.setPixel(x, y + _local1, col);
_local1++;
}
}
function displayMove() {
lineV(bmp, _x, 0, 60, 16777215);
lineV(bmp, _x, 0, _y, col);
lineV(bmp, _x, _y + 15, 60, col);
if (!isMoving) {
return(undefined);
}
if (isUp) {
_y = _y + speed;
if (_y > 60) {
_y = -15;
}
} else {
_y = _y - speed;
if (_y < -15) {
_y = 60;
}
}
}
}
Symbol 12 Button
on (release) {
gotoAndStop (3);
}